2010-05-17 36 views
1

有沒有像PHP的:max()在JavaScript?什麼是最有效的方式來獲得最高和最低值在一個數組

可以說我有一個這樣的數組:

[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]) 

有沒有一種簡單的方法來檢索一個數組的最大值和最小值?

回答

12

ApplyingMath.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 
+0

哇THX你快回答! – meo 2010-05-17 22:02:02

+0

然後完全相同的分鐘'Math.min.apply(Match,array);' – 2010-05-17 22:04:24

+2

@meo,歡迎大家查看這個簡單[性能測試](http://jsbin.com/uyani3/2)應用'Math.max'和你的'madmax'函數。 – CMS 2010-05-17 22:09:33

相關問題