2015-09-03
링크 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/max

일반적으로 javascript에서 가장 큰값과 작은 값을 구하려면 math함수에 있는 max, min 을 쓰면 된다.
그런데 해당 함수들의 인수 값은 단순한 숫자들의 나열일뿐 배열은 안돼서 일일이 for문을 돌렸었는데, 아래와 같이 하면 배열도 가능하다.
<script>
data = [2,4,5,4,56,6,45,4,6,3,2,34];
var max = Math.max.apply(null, data);
console.log( max );
</script>
56

그리고 아래는 다중배열에서 min값과 max값을 구하는 예제이다.
<script>
var min = Infinity,
    max = -Infinity;

data = [];
data[0] = [2,4,5,4,56,6,45,4,6,3,2,34];
data[1] = [34,542,125,344,56,6,45,43,46,3,12,34];

data.forEach(function(x) {
    var rowMax = Math.max.apply(null, x);
    var rowMin = Math.min.apply(null, x);

    if (rowMax > max) max = rowMax;
    if (rowMin < min) min = rowMin; 

});

console.log("min:"+min+", max:"+max);
</script>
min:2, max:542

간단한 응용이니 따로 설명할 필요는 없어 보이지만, 그래도 대충 설명해주자면, 2차원 배열인 data변수를 forEach구문으로 돌리면서 각 각의 배열들 마다 min값과 max값을 구하여 최종적인 min값과 max값을 구하는 방식이다.
알아서 잘 응용하기 바란다.