[JavaScript] 배열의 최대값 구하기
Lpla
·2021. 12. 31. 21:01
반응형
1. Math.max.apply()
Math.max()는 입력받은 값 중 가장 큰 수를 반환한다.
Math.max(1, 3);
// 3
Math.max(1, 9, 6, 11);
// 11
하지만 숫자가 아닌 배열을 사용하면 제대로 동작하지 않는다.
Math.max([1, 9, 6, 11]);
// NaN
배열에서 사용하기 위해서는 apply() 메서드를 같이 사용해야 한다.
let array = [100, 40, 80, 120, 50, 90, 10, 20];
let result = Math.max.apply(null, array);
console.log(result);
// 120
2. 스프레드 연산자(...)
스프레드 연산자로 배열을 풀어서 구하는 방법도 있다.
가장 간단하지만 ES6부터 사용할 수 있다.
let array = [100, 40, 80, 120, 50, 90, 10, 20];
let result2 = Math.max(...array);
console.log(result2);
3. forEach
반복문을 사용하여 해결하려면 양 숫자를 서로 비교해 큰 수만 남기는 방식으로 마지막까지 남는 숫자를 계산할 수 있다.
let array = [100, 40, 80, 120, 50, 90, 10, 20];
let highNumber = 0;
array.forEach(function(item, index) {
let result = highNumber < item ? highNumber = item : highNumber;
return result;
})
console.log(highNumber);
// 120
최소값은 max 대신에 min을 쓰고 큰 수 대신 작은 수를 남기도록 바꾸기만 하면 되니 설명하지 않겠다.
반응형