[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을 쓰고 큰 수 대신 작은 수를 남기도록 바꾸기만 하면 되니 설명하지 않겠다.

반응형