Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 배열에서 최댓값(가장 큰 값)을 찾아 반환하는 방법

JavaScript 프로그래밍에서 숫자로 이루어진 배열을 입력받아, 배열을 순회하며 가장 큰(최대) 요소를 찾아 반환하는 함수를 작성해야 하는 경우가 자주 있습니다. 이 글에서는 반복문을 활용해 배열의 최댓값을 구하는 방법을 단계별로 살펴보겠습니다.

구현 로직

핵심 아이디어는 다음과 같습니다.

  • 최댓값을 저장할 변수를 -Infinity로 초기화합니다. 이렇게 하면 어떤 숫자와 비교해도 항상 값이 갱신될 수 있습니다.
  • 배열이 비어 있는 경우 null을 반환하여 예외 상황을 안전하게 처리합니다.
  • for 반복문으로 배열의 각 요소를 하나씩 확인하면서, 현재까지의 최댓값보다 큰 요소가 나타나면 변수를 갱신합니다.
  • 순회가 끝나면 최종적으로 가장 큰 값을 반환합니다.

예제 코드

const arr = [5, 3, 20, 15, 7];
const findGreatest = (arr = []) => {
    let greatest = -Infinity;
    if(!arr?.length){
        return null;
    };
    for(let i = 0; i < arr.length; i++){
        const el = arr[i];
        if(el < greatest){
            continue;
        };
        greatest = el;
    };
    return greatest;
};
console.log(findGreatest(arr));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같이 출력됩니다.

20

다른 방법: Math.max() 활용하기

반복문을 직접 작성하지 않고도 내장 메서드를 사용하면 훨씬 간결하게 최댓값을 구할 수 있습니다. Math.max() 함수와 전개 연산자(spread operator)를 조합하면 한 줄로 해결됩니다.

const arr = [5, 3, 20, 15, 7];
const greatest = Math.max(...arr);
console.log(greatest); // 20

단, 배열의 크기가 매우 클 경우 전개 연산자는 호출 스택 한도를 초과해 오류를 일으킬 수 있으므로, 이런 경우에는 앞서 소개한 반복문 방식이나 reduce() 메서드를 사용하는 것이 더 안전합니다.

정리

배열의 최댓값을 찾는 것은 JavaScript에서 매우 흔한 작업입니다. 반복문을 직접 작성하면 동작 원리를 명확히 이해할 수 있고, Math.max()를 사용하면 코드를 간결하게 유지할 수 있습니다. 배열의 크기와 상황에 맞는 방법을 선택해 활용하시기 바랍니다.