SW/JavaScript

JavaScript : array : min, max 값 얻는 방법, 예제

얇은생각 2020. 2. 12. 07:30
반응형

min, max 얻는 법

 

 

Math object의 max function에 대해 알아보겠습니다.

Math.max() function은 0보다 큰 숫자를 반환합니다.

 

그리고 Math obejct의 min function 함수도 있습니다.

Math.min() 함수는 0 이상의 최소 숫자를 반환합니다.

 

 

최대 또는 최소 함수를 사용하는 예입니다.

Math.max(1, 2, 3)    // 3
Math.min(1, 2, 3)    // 1

 

 

 

하지만 만약 숫자의 배열을 가지고 있고 그 안에서 최소값과 최대값을 찾고자 한다면 어떻게 해야 할까요?

Math.min 또는 Math.max 메서드에 배열을 넘기면 NaN이 나옵니다.

const nums = [1, 2, 3]
Math.min(nums)    // NaN
Math.max(nums)    // Nan

 

 

 

그 이유는 Math.min 또는 Math.max 함수는 배열이 아니라 고유한 변수를 기대하기 때문입니다. 이를 위해 ES6/ES2015 적용 방법을 사용해야 합니다.

var nums = [1, 2, 3]
Math.min.apply(Math, nums)    // 1
Math.max.apply(Math, nums)    // 3
Math.min.apply(null, nums)    // 1
Math.max.apply(null, nums)    // 3

 

 

ES6/ES2016의 destructing 할당을 통해 더 쉬워집니다. destructing 할당 구문은 어레이 또는 개체에서 데이터를 추출하여 별도의 변수로 만들 수 있는 JavaScript 식입니다.

const nums = [1, 2, 3]
Math.min(...nums)    // 1
Math.max(...nums)    // 3

 

 

배열 앞에서 어레이를 개별 변수로 변환하여 함수에 전송합니다. 이는 다음과 같습니다.

Math.min(1, 2, 3)
Math.max(1, 2, 3)

 

반응형