-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 に答える