-9

我正在尝试对如下所示的多维数组进行排序:

 var test_array = { "214": { "id": "214", "name": "Mike Smith", "salary": 50000 }, 
"336": { "id": "336", "name": "John Doe", "salary": 60000 }, 
"134": { "id": "134", "name": "Jane Doe", "salary": 100000 }, 
"914": { "id": "914", "name": "Bob White", "salary": 25000 } };

我想按薪水字段降序排序,并且 jQuery 函数在解决方案中是可以接受的。

4

1 回答 1

2

您无法对数组进行排序,因为实际上它是一个对象而不是数组。

JS 对象是名称/值对的无序集合。

如果您想要订购,请使用数组而不是对象,例如

var test_array = [
    { "id": "214", "name": "Mike Smith", "salary": 50000 }, 
    { "id": "336", "name": "John Doe", "salary": 60000 }, 
    { "id": "134", "name": "Jane Doe", "salary": 100000 }, 
    { "id": "914", "name": "Bob White", "salary": 25000 }
];
test_array.sort(function(a,b){
    if(a.salary < b.salary) return -1;
    if(a.salary > b.salary) return 1;
    return 0;
});
于 2013-10-14T23:48:10.037 回答