如何使用保留字符串键按属性“成本”对对象数组进行排序?
开始数组:
aparts: {
apart1 : {id: "1", status: 2, cost: 10033450},
apart2 : {id: "2", status: 2, cost: 5214000},
apart3 : {id: "3", status: 2, cost: 7314300},
apart4 : {id: "4", status: 1, cost: 9261700}
}
要数组:
aparts: {
apart2 : {id: "2", status: 2, cost: 5214000},
apart3 : {id: "3", status: 2, cost: 7314300},
apart4 : {id: "4", status: 1, cost: 9261700},
apart1 : {id: "1", status: 2, cost: 10033450}
}
最佳答案
不保证属性的顺序。参见,例如:
https://stackoverflow.com/a/5525820/1250301
如果你想要有序的东西,那么你需要使用数组。转换非常简单:
var aparts = {
apart1 : {id: "1", status: 2, cost: 10033450},
apart2 : {id: "2", status: 2, cost: 5214000},
apart3 : {id: "3", status: 2, cost: 7314300},
apart4 : {id: "4", status: 1, cost: 9261700}
};
var arr = Object.keys(aparts).map(function(k) { return aparts[k]; }).sort(function(a,b) { return a.cost - b.cost });
console.log(arr);
关于javascript - 使用保存键按属性值对 Javascript 对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309523/