2010-05-17 4 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

와우 들으 빠른 답변! – meo

+0

그리고 min'Math.min.apply (Match, array);에 대해서 정확히 동일합니다. –

+2

@meo,이 간단한 [성능 테스트] (http://jsbin.com/uyani3/2)를 'Math.max'와 여러분의'madmax' 함수를 적용합니다. – CMS

관련 문제