[JS] Math.min/Math.max

뚜벅맨·2021년 7월 30일
0

Math.min과 Math.max는 간단한 함수입니다. 그러나 reduce 등과 함께 쓰이면 배열의 최댓값을 구할 수 있는 등 유용하게 쓰이기에 꼭 알아 둡시다.

1. Math.min()

Math.min() 함수는 주어진 숫자들 중 가장 작은 값을 반환합니다.

이 때 min() 함수는 Math 의 정적 메소드이므로, 사용자가 생성한 Math 객체의 메소드로 호출하는 것이 아닌 항상 Math.min() 으로 호출되어야 합니다. (Math 는 생성자가 아닙니다).

아래 수식은 x 와y 중 작은 값을 찾아 z 에 할당 합니다.

var x = 10, y = -20;
var z = Math.min(x, y);

z의 값은 -20이 되겠죠?

Math.min() 함수는 때때로 값에 제한을 둘 때, 즉 항상 기준 보다 작거나 같은 값으로 제한하는 용도로 사용됩니다. 예를 들면,

var x = f(foo);

if (x > boundary) {
  x = boundary;
}

위 코드는 다음과 같이 쓸 수 있습니다.

var x = Math.min(f(foo), boundary);

2. Math.max()

Math.max()함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.

max () 역시 Math의 정적 메서드이기 때문에 만든 Math 개체의 메서드가 아닌 항상 Math.max ()로 사용해야합니다. (Math는 생성자가 아닙니다).

주의할 점은, 아무 요소도 주어지지 않았다면 -Infinity로 반환하며 한 개 이상의 요소가 숫자로 변환되지 않는다면 NaN로 반환된다는 것입니다.

Math.max() 함수는 요로코롬 쓰입니다.

Math.max(10, 20);   //  20
Math.max(-10, -20); // -10
Math.max(-10, 20);  //  20

배열의 최대값 가져오기

reduce()로 숫자 배열의 최대 값을 찾는 데 사용할 수 있습니다.

var arr = [1,2,3];
var max = arr.reduce((a, b) => {
    return Math.max(a, b);
});

reduce 함수에 대한 활용법은 다음 글에 있습니다.

profile
쉽게만 살아가면 재미없어 빙고🐝

0개의 댓글