Javascriptのオブジェクトのキーと値には固有の順序はありません。必要な順序に並べ替えるには、それらを順序付けられた構造に格納する必要があります。
は固有の順序を持っていた、のはArray
にアイテムを取得してみましょう:
var object = {
a: 1,
b: 5,
c: 2
}
var keyValues = []
for (var key in object) {
keyValues.push([ key, object[key] ])
}
keyValues
配列は今['a', 1], ['b', 5], ['c', 2]
を保持しています。比較のために、各ペアに第2の値を使用して、のは、この配列をソートしてみましょう:
keyValues.sort(function compare(kv1, kv2) {
// This comparison function has 3 return cases:
// - Negative number: kv1 should be placed BEFORE kv2
// - Positive number: kv1 should be placed AFTER kv2
// - Zero: they are equal, any order is ok between these 2 items
return kv1[1] - kv2[1]
})
今keyValues
が大きいと小さいから選別されます。オブジェクトに戻すことはできません。そうしないと、注文は失われます。
あなたがここにあなたの回答を見つけることができ – k102
その後、並べ替え、配列にこれを変換します。http://stackoverflow.com/questions/25500316/sort-a-dictionary-by-value-in-javascript – L01c
をそのためには、通常に簡単です'var '=' {' name ':'チーム1 '、'値 ':34}、{'名前 ':'チーム2 '、'値 ':55}、...]; 'あなたのデータをソート/フィルタ/マップするためのすべての配列の良さ。 – Shilly