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

  • Sk8erPeter

    nagyúr

    válasz trisztan94 #10140 üzenetére

    "Érdekes módon pedig nagyon is rendezi relevancia szerint"
    Akkor kérlek mutasd meg nekem, hogy ebben milyen relevancia szerinti rendezés van, készítettem neked egy példát:
    http://jsfiddle.net/6TTwW/

    function getSearchResultsForBlabla(myArray, stringToSearch, caseInsensitive){

    var resultArray = [];

    for(var i=0;i<myArray.length;i++){
    var currentStuff;
    if(caseInsensitive) {
    currentStuff = myArray[i].toLowerCase();
    }
    else {
    currentStuff = myArray[i];
    }
    if(currentStuff.indexOf(stringToSearch) != -1){
    resultArray.push(myArray[i]);
    }
    }

    return resultArray;
    }

    var testArray = [];
    testArray.push("ylkjcySEARCHFORTHISlksdj");
    testArray.push("yxcm,yxnc,mnSEARCHFORTHIS");
    testArray.push("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzSEARCHFORTHISeeeeeeeeeee");
    testArray.push("SEARCHFORTHISzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzeeeeeeeeeee");
    testArray.push("3123SEARCHFORTHIS123");
    testArray.push("qpeoqweSEARCHFORTHISűáéűéűálD");
    testArray.push("SADASDASSEARCHFORTHISDASD");
    testArray.push("qweqweqwe");
    testArray.push("Apple");
    testArray.push("asdasdasdasd");
    testArray.push("bxvxcvxcvxcvxc");
    testArray.push("ApricotSEARCHFORTHIS");
    testArray.push("Pasdasdasdear");
    testArray.push("PearSEARCHFORTHISwqeqweqweqwe");
    testArray.push("SEARCHFORTHISPeacock");
    testArray.push("AppleeqweqweqweqweqweSEARCHFORTHIS");

    var searchResultsArray = getSearchResultsForBlabla(testArray, "SEARCHFORTHIS");

    /////////////////////////////////////////////////

    console.log('getSearchResultsForBlabla(testArray, "SEARCHFORTHIS"): ', searchResultsArray);

    /////////////////////////////////////////////////

    var originalArrayContainer = $('#original_array');
    var searchResultsArrayContainer = $('#results');

    $.each(testArray, function( index, value ) {
    originalArrayContainer.append('<li>'+value+'</li>')
    });

    $.each(searchResultsArray, function( index, value ) {
    searchResultsArrayContainer.append('<li>'+value+'</li>')
    });

    (mondjuk nem lett volna itt szükséges a végén a jQuery, plain JS-sel nyugodtan meg lehetett volna oldani, de késő van, sz@rom le :D)

    Eredmény (ami állítólag szerinted relevancia szerinti sorrendben van):

    ylkjcySEARCHFORTHISlksdj
    yxcm,yxnc,mnSEARCHFORTHIS
    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzSEARCHFORTHISeeeeeeeeeee
    SEARCHFORTHISzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzeeeeeeeeeee
    3123SEARCHFORTHIS123
    qpeoqweSEARCHFORTHISűáéűéűálD
    SADASDASSEARCHFORTHISDASD
    ApricotSEARCHFORTHIS
    PearSEARCHFORTHISwqeqweqweqwe
    SEARCHFORTHISPeacock
    AppleeqweqweqweqweqweSEARCHFORTHIS

    Ebben hol is van a relevancia vagy akár ábécé szerinti rendezés? :)

    A bizonyítéknak szánt screenshotjaidnál pedig az szerintem annyira nem jó, hogy "relevancia" vagy épp ábécé szerint az "Erdősor" előbb van, mint az "Erdőkerülő", de ízlések és pofonok különböznek... :DDD
    Na meg ha már relevancia, nem az lenne ilyen alapon logikusabb, hogy az "Erdőbénye" kerüljön előre?
    Egyébként definiálni kéne esetedben a relevanciát, mit is jelent. Az a "relevánsabb" találat, ami Budapesthez kötődik? :DDD Vagy épp az, ahol a stringben előbb szerepel az "Erdő" string? Mert akkor valóban Erdőbénye kellene, hogy előrébb legyen.

    "Mondjuk MS barátunk szörnyen jó dokumentációjában nem nagyon láttam ilyen utalást, tehát elfogadható a hibám"
    Nem hiszem, hogy a Microsoft lenne a hibás azért, mert a kliens-szerver architektúrát itt most kevered azzal, hogy mi a vastagkliens, szóval a végére összejött a szezon a fazonnal. :)
    Amúgy most rákerestem pár Windows Phone-os, WinJS-es dologra kíváncsiságból, egész sok példakóddal is szolgálnak a MS-os oldalak. Szóval nekem ennyi alapján nem tűnik olyan gáznak a helyzet, mint ahogy utalsz rá... :)

    [ Szerkesztve ]

    Sk8erPeter

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