我有一个关键字作为字符串的关联数组。现在我想按价值降序对它们进行排序。按值降序排列关联数组
这是预期的结果:
[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