如何根据他的第二个子数组值获得最大的数组元素

san*_*neo 5 javascript arrays d3.js

我有一个JavaScript数组的数组:

[[-786, 2], [-783, 1], [-782, 5], [-781, 1], [-779, 2], [-778, 1], [-775, 1], [-774, 1], [-773, 1], [-771, 2], [-769, 1], [-767, 1], [-766, 1], [-763, 2], [-760, 2]]
Run Code Online (Sandbox Code Playgroud)

如何根据子数组中第二个元素的值获得最大元素?

在上面的情况下,我想得到元素:

[-782, 5]
Run Code Online (Sandbox Code Playgroud)

因为5是所有子阵列中最大的第二个值.如果有多个具有较大第二个值的子数组,我想得到第一个.

马里乌什

c.P*_*.u1 3

根据数组每个元素的第二个元素执行降序排序。

var array = [[-786, 2], [-783, 1], [-782, 5], [-781, 1], [-779, 2], [-778, 1], [-775, 1], [-774, 1], [-773, 1], [-771, 2], [-769, 1], [-767, 1], [-766, 1], [-763, 2], [-760, 2]];


array.sort(function(a, b) {
    return b[1] - a[1];
});

console.log(array[0]);
Run Code Online (Sandbox Code Playgroud)

jsFiddle 演示

for请注意,虽然此解决方案很简洁,但仅使用排序来查找最大或最小元素会比在单次迭代中查找最大/最小元素的循环慢得多。