获取数组中最高和最低值的最有效方法是什么

时间:2010-05-17 21:58:14

标签: javascript

是否有类似PHP的东西:javascript中的max()

假设我有一个这样的数组:

[2, 3, 23, 2, 2345, 4, 86, 8, 231, 75]

我希望返回此数组中的最高值和最低值。最快的方法是什么?

我试过了:

function madmax (arr) {
  var max = arr[0],
      min = arr[1]

  if (min > max) {
      max = arr[1]
      min = arr[0]   
  }

  for (i=1;i<=arr.length;i++){
     if( arr[i] > max ) {
       max = arr[i]
     }else if( arr[i] < min ) {
       min = arr[i]
     }
}

return max, min
}

madmax([123, 2, 345, 153, 5, 98, 456, 4323456, 1, 234, 19874, 238, 4])

是否有更简单的方法来检索数组的最大值和最小值?

1 个答案:

答案 0 :(得分:12)

Applying Math.maxMath.min内置方法可以非常快:

var array = [2, 3, 23, 2, 2345, 4, 86, 8, 231, 75];
var max = Math.max.apply(Math, array); // 2345
var min = Math.min.apply(Math, array); // 2