我有多个对象,称为stations
。每个工作站都有一个名为money
的属性。
stations[0].money = 2000
stations[1].money = 500
stations[2].money = 1200
stations[3].money = 2200
我想创建一个桩号索引数组(在此示例中为0、1,2和3),但按金额划分,每个桩号按货币升序排列。
所以我想拥有:
var moneyArray = [1, 2, 0, 3]
最优雅的方法是什么?
最佳答案
您可以从一个普通的索引数组开始(最好是循环生成),然后按照stations
数组中各个索引处的对象的值对其进行排序:
[0, 1, 2, 3].sort(function(ai, bi) {
return stations[ai].money - stations[bi].money;
})