使用JQuery排序插入

时间:2011-10-06 17:59:24

标签: javascript jquery sorting

我有一个与此类似的代码(从外部服务渲染信息):

var myList =  {'id1' : {prop1:'v1', prop2:'v2'}, 
               'id2' : {prop1:'v3', prop2:'v4'}}; 

for (var k in myList) {
    var html = '<div id="xxx">stuff</div>';
    html.data('item', myList[k]);
    $('#parentDiv').append(html);
}

由于我不能依赖于使用for (x in y)时的排序,我想将元素插入特定位置,让我们说按prop1排序。

那么,如何在prop1小于插入的实际元素的元素之后更改附加到插入?

2 个答案:

答案 0 :(得分:1)

您可能需要先对它们进行排序吗?

tmpList = [] // turn myList to array
tmpList.sort(function (a, b) { return a.prop1 > b.prop1});
// turn tmpList to dict

答案 1 :(得分:1)

如何使用数组:

var myList =  {'id1' : {prop1:'v1', prop2:'v2'}, 
               'id2' : {prop1:'v30', prop2:'v4'},
               'id3' : {prop1:'v13', prop2:'v4'}},
    sorted = []; 

for (var k in myList) {
    sorted.push(myList[k]);
}
sorted.sort(function (a,b) {
 return a.prop1 > b.prop1;   
});

for (var i = 0; i < sorted.length; i++) {
    var html = '<div id="xxx">stuff</div>';
    html.data('item', sorted[i]);
    $('#parentDiv').append(html);
}