javascript - 对对象中的javascript数组进行排序,维护键

标签 javascript sorting

我有一个带有两个数组的 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/

相关文章:

javascript - 将 microtime(true) 转换为 javascript 日期对象

javascript - 将多个元素附加到其他元素 jQuery JavaScript

c++ - C++中的递归归并排序

Java 比较器compareToIgnoreCase

java - 如何按键顺序对HashMap进行排序?

javascript - 向 Javascript 中的每个元素添加简单事件

javascript/jquery代码组织

javascript - 相同的 for 循环似乎不起作用

javascript - 为什么我的 Java Quicksort 没有移植到 Javascript 中?

tsql - 在 SQL 中对 IP 地址进行排序