[자바스크립트] 배열에서 최댓값/최솟값 구하기

MDN에 따르면

Math.max() 함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환한다.
인수 중 하나라도 숫자로 변환하지 못한다면 NaN을 반환한다.
아무 요소도 주어지지 않았다면 -Infinity를 반환한다.

문법 형태는 이러하다.

Math.max([value1[, value2[, ...]]])

 

[예시]

 

다섯 개의 수 중에 최댓값을 구하는 예시이다.

Math.max(1, 2, 3, 4, 5);

결과는 5가 나온다.

 

이번에는 배열을 하나 선언하고 이 배열의 원소들 중 최댓값을 구하려 한다.

const numbers = [1,2,3,4,5];
Math.max(numbers);

결과는 NaN이 뜬다.

 

[해결방법]

 

apply() 메서드를 사용하면 된다.

const numbers = [1,2,3,4,5];
Math.max.apply(null, numbers);

결과는 5가 나온다.

 

최소값은 max 대신 min을 사용하면 된다.

const numbers = [1,2,3,4,5];
Math.min.apply(null, numbers);

320x100