Javascript:排序多维数组

标签 javascript arrays sorting multidimensional-array

我有一个包含 3 列的多维数组(通过使用 javascript)

[0] Number of vote
[1] Name of candidate
[2] Candidate Number

我的数组内容是:

1 | Peter | 3
1 | Mary  | 2
0 | David | 5
0 | John  | 4
0 | Billy | 1

如何按 [0] 票数 和 [2] 候选人数 对数组进行排序?

结果应该是:

1 | Mary  | 2
1 | Peter | 3
0 | Billy | 1
0 | John  | 4
0 | David | 5

最佳答案

如前所述,您应该使用自定义排序功能。这是一个可以完全按照您的意愿行事的人。

var arr = [];
arr[0] = [1, 'Peter', 3];
arr[1] = [1, 'Mary', 2];
arr[2] = [0, 'David', 5];
arr[3] = [0, 'John', 4];
arr[4] = [0, 'Billy', 1];

arr.sort(function (a,b) {
    if (a[0] < b[0]) return  1;
    if (a[0] > b[0]) return -1;
    if (a[2] > b[2]) return  1;
    if (a[2] < b[2]) return -1;
    return 0;
});

关于Javascript:排序多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6993302/

相关文章:

Java - 如何基于单个 int 对数组进行排序

javascript - 具有单独着色 js 的全日历多访问事件

java - 获取 ArrayIndexOutofBoundException :0 while assigning value to array

android - 如何遍历字符串数组并添加到 Realm 数据库?

mysql - 从 MySQL JSON 数组中获取不同的值

javascript - jqgrid排序性能

javascript - 在成功调用 ajax 后使用 jQuery 将类添加到元素

javascript - HTML 选择标题

javascript - Vue.js:仅当路由参数发生变化时无法触发组件准备就绪

java - 尝试输出冒泡排序数组