我有一个带有两个数组的 javascript 对象,如图所示,
var Object = {'name': [Matt, Tom, Mike...], 'rank': [34,1,17...]};
我正在尝试按排名 1、2、3 排序......但保持名称与排名相关联。
Object.name[0] // tom
Object.rank[0] // tom's rank of 1.
我应该重新配置我的对象以使排序更容易吗?
我目前正在使用
Object.rank.sort(function(a,b){return a-b});
排序排名,但名称不保留。
感谢所有帮助。谢谢!
最佳答案
是的,重新配置。假设你有这个:
var people = [{name:"Matt", rank:34}, {name:"Tom", rank:1}, {name:"Mike", rank:17}];
然后你可以这样排序:
people.sort(function(a, b) {
return a.rank - b.rank;
}
编辑
因为你有并行列表,只需将它们压缩在一起:
var people = [];
for (var i = 0; i < Object.name.length; i++) {
people.push({name:Object.name[i], rank:Object.rank[i]});
}
关于javascript - 对对象中的javascript数组进行排序,维护键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081242/