在对象中对javascript数组进行排序,并保持键 [英] sort javascript array in object, maintaining key
本文介绍了在对象中对javascript数组进行排序,并保持键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有两个数组的javascript对象,如图所示,
I have a javascript object with two array's as shown,
var Object = {'name': [Matt, Tom, Mike...], 'rank': [34,1,17...]};
我正在尝试按等级1,2,3 ..排序,但要保留与等级相关的名称.
I am trying to sort by rank 1,2,3.. but keep the name associated with the rank.
Object.name[0] // tom
Object.rank[0] // tom's rank of 1.
我应该重新配置对象以使排序更容易吗?
Should I reconfigure my object to make sorting easier?
我当前正在使用
Object.rank.sort(function(a,b){return a-b});
订购排名,但名称不与之保持联系.
to order rank, but the name does not stay with it.
感谢所有帮助.谢谢!
推荐答案
是的,重新配置.假设您使用的是这个
Yes, reconfigure. Say you had this instead:
var people = [{name:"Matt", rank:34}, {name:"Tom", rank:1}, {name:"Mike", rank:17}];
然后您可以像这样进行排序:
Then you could sort like this:
people.sort(function(a, b) {
return a.rank - b.rank;
}
修改
由于您具有并行列表,因此将它们压缩在一起:
Since you have parallel lists, just zip them together:
var people = [];
for (var i = 0; i < Object.name.length; i++) {
people.push({name:Object.name[i], rank:Object.rank[i]});
}
这篇关于在对象中对javascript数组进行排序,并保持键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文