Hirdetés

Új hozzászólás Aktív témák

  • Teasüti

    nagyúr

    Ezt hoztam össze:

    Array.prototype.indexesOfGreatestNums = function () {
    var result = new String, a = new Array, b = new Array; c = new Array;
    a[0] = 0, b[0] = 0;
    for (var i =0, j=0; i<this.length;i++) {
    if (this[i]>0) {
    if (a.indexOf(this[i].toString())>=0) {if (b[a.indexOf(this[i].toString())] !== undefined) {b[a.indexOf(this[i].toString())]++} else {b[a.indexOf(this[i].toString())]=1;};} else {
    a[j] = this[i];
    if (b[j] !== undefined) {b[j]++} else {b[j] = 1};
    j++;
    }; //end else
    }; // end if
    }; // end for
    //var ok = popup('',a + '\n' + b,false,'','',30);
    var that = this.slice(0);
    for (i=0;i<a.length;i++) {
    for (j=0;j<b[a.indexOf(Math.max.apply('',a).toString())];j++) {
    //flash(that.join() +'\n'+ a.join());
    c[j] = that.indexOf(Math.max.apply('',a).toString());
    that[that.indexOf(Math.max.apply('',a).toString())] = 0;
    }; //end for
    result = result + c.join() + '>';
    c = [];
    a[a.indexOf(Math.max.apply('',a).toString())] = 0;
    }; // end for
    return(result);
    }; // end prototype

    Azt tudja, hogy egy számokból álló tömbből egy string-ben visszaadja az elemek értékei alapján csökkenő sorrendben az indexüket.
    Azonos értékek indexei vesszővel elválasztva, különbözőké pedig ">" jellel. NaN elemekre nem érzékeny, ha meg az egész tömb csak nullákból áll, akkor meg csak egy ">" jelet ad vissza.

    Pl:
    var a = [0,0,1,1,5,12,5,0,0];
    var b = a.indexesOfGreatestNums();

    b = "5>4,6>2,3>"

    Ezzel szeretném kiértékelni majd a telefonkönyves regex keresés eredményét, ahol a találatok számát mentem a fenti "a" tömbbe, amiben az indexek megegyeznek a névjegyzék tömbjével.

    [ Szerkesztve ]

Új hozzászólás Aktív témák