[JS] Array의 최댓값, 최솟값 구하기

10646 단어 arrayarray

Array안에 있는 값 중 최댓값과 최솟값을 여러 방법으로 구해보자👻

최댓값 최솟값 구하기

방법 1

(1)최솟값 구하기

  • 변수를 선언할 때 기본값으로 const를 사용했으나, let min = arr[0]의 경우 3줄 아래에서 재할당을 해줄 필요가 있으므로 let 을 사용했다.
  • arr[0]min의 기준값으로 잡아주고, 반복문을 i=1; 부터 돌려 값을 비교해준다.
  • arr[i]의 값이 min(arr[0])보다 크다면 min = arr[i]로 할당해주는 작업을 arr.length만큼 반복한다.
  • 아래 예제의 경우 처음 min값은 20이고, 200부터 반복문을 돌다가 1을 만나면 할당을 하게된다. if문의 조건처럼 20은 1보다 크기 때문에! 계속 해서 반복문을 돌게 되지만 나머지 배열에서 1이 더 큰 경우를 찾을 수 없어 min은 1로 반환된다.
//최솟값을 구할 Array
const arr = [20, 200, 23, 1, 3, 9];

function getMin(arr){
  let min = arr[0];   // 3줄 아래에서 min을 arr[i]로 재할당 해주어야 하기 때문에 let 선언 
  for (let i= 1; i < arr.length; i++){  //arr[0]과 비교해주기위해 i = 1  부터 시작
    if ( arr[i] < min ) 
       min = arr[i];  // 할당 
    }
  return min;
} 

getMin(arr)  //1

(2)최댓값 구하기

최댓값은 최솟값과 조건문만 살짝 수정해주면 도출해 낼 수 있다.

//최댓값을 구할 Array
const arr = [20, 200, 23, 1, 3, 9];

function getMax(arr){
  let max = arr[0];   
  for (let i= 1; i < arr.length; i++){  
    if ( arr[i] > max ) 
       max = arr[i];  ![](https://media.vlpt.us/images/cecy-coding/post/a0ade87a-a4ec-47a0-aa43-7f61e2c3126c/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202020-11-24%20%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB%2010.34.59.png)
    }
  return max;
} 

getMax(arr)  // 200 

방법2

Math.max 와 apply를 이용한 최댓값 구하기 정리할 것 !

좋은 웹페이지 즐겨찾기