Keresés

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

  • Muton

    addikt

    válasz Sk8erPeter #2773 üzenetére

    na, most jutottam oda, hogy sikerült a problémát elővenni újra.
    kipróbáltam amit írtál (meg a verziódat láttam is a neten), de sajnos nem működött.
    Nem tudom, de nem azért, mert a listámban objektumk vannak és nem kulcs-érék párok?
    Nekem van két listám (array-em), benne objektumok, azoknak id, dátum és egyéb property-eik.
    Azt szeretném, hogy egy arrayben legyen benne az összes objektum, aminek különböző id-je van, de ha van azonos id-jű, akkor az újabb dátumú.
    így próbáltam:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Taskfit mobile</title>
    <link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" />
    <script type="text/javascript" src="./js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="./js/jquery.mobile-1.1.0.min.js"></script>
    <script type="text/javascript">
    var arrA = new Array();
    var arrB = new Array();
    var arrC = new Array();
    var a1 = new Object();
    a1.date = "aa1";
    a1.id = "123";
    var a2 = new Object();
    a2.date = "aa2";
    a2.id = "234";
    var a3 = new Object();
    a3.date = "aa3";
    a3.id = "234";
    var a4 = new Object();
    a4.date = "aa4";
    a4.id = "345";
    function printObject(obj, mess) {
    var out = '';
    for (var p in obj) {
    out += p + ': ' + obj[p] + '\n';
    }
    if(mess){
    alert(mess + ": \n\n" + out);
    } else {
    alert(out);
    }
    }
    function init(){
    arrA.push(a1);
    arrA.push(a2);
    arrB.push(a3);
    arrB.push(a4);
    }
    function merge(){
    arrC = jQuery.extend(arrA, arrB);
    }

    function showA(){
    printObject(arrA[0]);
    printObject(arrA[1]);
    }
    function showB(){
    printObject(arrB[0]);
    printObject(arrB[1]);
    }
    function showC(){
    printObject(arrC[0]);
    printObject(arrC[1]);
    printObject(arrC[2]);
    }
    </script>
    </head>
    <body onload="init()">
    <input value="showAlist" onclick="showA()" type="button">
    <input value="showBlist" onclick="showB()" type="button">
    <input value="showClist" onclick="showC()" type="button">
    <input value="merge" onclick="merge()" type="button">
    </body>
    </html>

    Szóval én azt várnám, hogy aaC[0] legyen aa1 - és 123, aaC[1] legyen aa3* - és 234 és aaC[2] legyen aa4 - és 345
    * mivel látja, hogy van két objektum 234 id-vel, akkor vesz a későbbit az aa3-at és nem az aa2-t

    Hogy írjam a merge()-t, hogy a kívántat kapjam?

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

Hirdetés