我有一個關鍵字作爲字符串的關聯數組。現在我想按價值降序對它們進行排序。按值降序排列關聯數組
這是預期的結果:
[orange: 3, apple: 2, banana: 1]
但隨着:
var arr = [];
arr["apple"] = 2;
arr["orange"] = 3;
arr["banana"] = 1;
arr.sort(function(a,b) {
return a.val - b.val;
});
我得到了最初的訂單:
[apple: 2, orange: 3, banana: 1]
解釋作爲奧里奧爾說,你處理數組作爲一個對象。除了少數例外,[JavaScript中的所有內容都像對象一樣](http://bonsaiden.github.io/JavaScript-Garden/#object.general),並且使用帶括號的方括號表示而不是索引來定義方法在對象上命名屬性。如果您需要根據其屬性名稱的順序檢索值,則可以使用['Object.keys'集合](https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Reference/Global_Objects/Object/keys),對其進行排序並循環訪問您的值。 – Thriggle