如何在Javascript中获取二维数组的二维最小值/最大值?

时间:2013-06-01 00:58:00

标签: javascript

假设我有一个二维数组,如下所示。如何找到第二维的最小值和最大值? (不使用循环) 在这种情况下,var min = 1000,max = 5000。

var myArray= [
  [1308888000000, 2962],
  [1308974400000, 2963],
  [1309060800000, 2965],
  [1309147200000, 1000],
  [1309233600000, 2970],
  [1309320000000, 2974],
  [1309406400000, 5000],
  [1309492800000, 2976]]

1 个答案:

答案 0 :(得分:2)

为了避免(显式)循环使用像mapreduce这样的迭代器函数:

 max = Math.max.apply(null, myArray.map(function(x) { return x[1]}))

max = myArray.reduce(function(m, x) { 
    return Math.max(m, x[1])
}, myArray[0][1])

或按第二个“列”对整个数组进行排序,然后选择第一个元素:

max = myArray.sort(function(x, y) { return y[1] - x[1]})[0][1]