mat*_*tyd 5 javascript sorting
我有一个带有两个数组的javascript对象,如图所示
var Object = {'name': [Matt, Tom, Mike...], 'rank': [34,1,17...]};
Run Code Online (Sandbox Code Playgroud)
我试图按1,2,3级排序,但保持名称与排名相关联.
Object.name[0] // tom
Object.rank[0] // tom's rank of 1.
Run Code Online (Sandbox Code Playgroud)
我应该重新配置我的对象以使排序更容易吗?
我目前正在使用
Object.rank.sort(function(a,b){return a-b});
Run Code Online (Sandbox Code Playgroud)
订购排名,但名称不会留在它.
所有帮助赞赏.谢谢!
是的,重新配置。假设你有这个:
var people = [{name:"Matt", rank:34}, {name:"Tom", rank:1}, {name:"Mike", rank:17}];
Run Code Online (Sandbox Code Playgroud)
然后你可以这样排序:
people.sort(function(a, b) {
return a.rank - b.rank;
}
Run Code Online (Sandbox Code Playgroud)
编辑
由于您有并行列表,只需将它们压缩在一起即可:
var people = [];
for (var i = 0; i < Object.name.length; i++) {
people.push({name:Object.name[i], rank:Object.rank[i]});
}
Run Code Online (Sandbox Code Playgroud)