JavaScript에서는 Math.max() 함수와 sort() 메서드를 활용해 배열 안에서 가장 큰 값을 손쉽게 찾을 수 있습니다. 각각의 동작 원리와 사용법을 예제와 함께 살펴보겠습니다.
1) Math.max() 함수 사용하기
Math.max() 함수는 배열의 모든 요소를 인수로 받아 각각의 값을 하나씩 비교한 뒤, 그중 가장 큰 값을 반환합니다. 일반적으로 apply() 메서드와 함께 사용하여 배열 전체를 한 번에 전달하는 방식으로 활용됩니다.
예제
<html>
<body>
<script>
function maximum(value) {
if (toString.call(value) !== "[object Array]")
return false;
return Math.max.apply(null, value);
}
document.write(maximum([6,39,55,1,44]));
</script>
</body>
</html>실행 결과
55
위 예제에서는 먼저 전달된 값이 배열인지 확인한 후, Math.max.apply()를 통해 배열의 모든 요소를 비교하여 최댓값인 55를 출력합니다.
참고로 ES6(ES2015)부터는 전개 연산자(spread operator)를 사용하면 훨씬 간결하게 작성할 수도 있습니다.
const numbers = [6, 39, 55, 1, 44]; console.log(Math.max(...numbers)); // 55
2) sort() 메서드 사용하기
sort() 메서드에 비교 함수를 함께 전달하면 배열 요소를 오름차순 또는 내림차순으로 정렬할 수 있습니다. 정렬이 완료된 후에는 length 속성을 이용해 배열의 마지막 요소(내림차순 기준 최댓값)에 접근하여 원하는 값을 얻을 수 있습니다.
예제
<html>
<body>
<input type="button" onclick="myFunction()" value="클릭">
<p id="max"></p>
<script>
var numbers = [6,39,55,1,44];
document.getElementById("max").innerHTML = numbers;
function myFunction() {
numbers.sort(function(a, b){return a - b});
document.getElementById("max").innerHTML = numbers;
document.write(numbers[numbers.length-1]);
}
</script>
</body>
</html>위 프로그램을 실행하면 다음과 같은 화면이 나타납니다.

실행 결과
버튼을 클릭하면 배열이 오름차순으로 정렬되고, 그중 가장 큰 값이 아래와 같이 화면에 표시됩니다.
55
정리
두 방법 모두 배열의 최댓값을 구하는 데 유용합니다. 단순히 최댓값만 필요하다면 Math.max()가 간결하고 효율적이며, 정렬된 배열 자체가 필요한 경우에는 sort() 메서드를 활용하는 것이 좋습니다. 상황에 맞게 적절한 방법을 선택해 사용하시기 바랍니다.