반응형

 

 

 

 

 

 

 

 

📌 배열의 최댓값, 최솟값 구하기

 

자바스크립트에서 배열의 최댓값과 최솟값을 구하는 방법에는 아래와 같은 방법이 있다.

  • Math.max( ), Math.min( )
  • Function.prototype.apply( )
  • Spread Operator(전개 연산자)

 

 

 

 

 

1️⃣ Math.max( ), Math.min( )

Math.max( )와 Math.min( )는 입력받은 숫자들 중 최댓값과 최솟값을 구해서 리턴하는 함수이다.

이 함수는 여러 개의 파라미터를 전달해서 최댓값과 최솟값을 구할 수 있지만, 배열을 넘길 수는 없다.

 

따라서, 배열의 최댓값, 최솟값을 구하기 위해서는 Function.prototype.apply( )와 Spread Operator(전개 연산자)를 사용하여 구해야 한다.

 

const maxValue = Math.max(1, 2, 3, 4, 5);
const minValue = Math.min(1, 2, 3, 4, 5);

console.log('Max : ' + maxValue) // Max : 5
console.log('Min : ' + minValue) // Min : 1

 

 

 

 

 

2️⃣ Function.prototype.apply( )

Function.prototype.apply( )는 함수를 호출하는 방법 중의 하나이다.

 

일반적으로 함수를 호출할 때 '함수명(파라미터)'의 형식으로 호출하지만 apply() 메서드를 호출해서 함수를 호출할 수도 있다. apply() 메서드는파라미터로 함수 내부에서 사용할 this객체와 호출하는 함수로 전달할 파라미터를 입력받는다.

 

 

const arr = [1, 2, 3, 4, 5];
const maxValue = Math.max.apply(null, arr);
const minValue = Math.min.apply(null, arr);

console.log('Max : ' + maxValue) // Max : 5
console.log('Min : ' + minValue) // Min : 1

 

Math.max.apply(null, arr);

첫 번째 파라미터로 Math.max() 내부에서 사용할 this객체를 전달해야 하는데, 예시에서는 따로 this객체를 지정해 줄 필요가 없으므로 null을 전달하였다.

 

두 번째 파라미터는 Math.max( )로 전달할 파라미터를 배열 형태로 전달하였다.

 

 

 

 

 

3️⃣ Spread Operator(전개 연산자)

Spread Operator(전개 연산자)는 ES6 문법으로 '...'으로 표현하며 객체나 배열의 원소를 하나씩 꺼내어서 리턴한다.

 

const arr = [1, 2, 3, 4, 5];
const maxValue = Math.max(...arr);
const minValue = Math.min(...arr);

console.log('Max : ' + maxValue) // Max : 5
console.log('Min : ' + minValue) // Min : 1

 

 

위 예시에서 Math.max(...arr)는 실제로는 Math.max(1, 2, 3, 4, 5)와 같이 실행된다.

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기