자바스크립트에서 배열의 요소들 중에 최대 값과 최소 값을 찾는 방법을 소개합니다. 간단한 방법으로는 Math 함수를 사용하여 최대, 최소 값을 찾을 수 있습니다. 또는 for 루프를 사용하여 직접 구현할 수도 있습니다.
1. Math.min.apply(), Math.max.apply() : 배열에서 최대, 최소 값 찾기
Math.min.apply(null, array)
는 인자로 전달한 array 배열 요소들 중에 최소 값을 리턴합니다. Math.max.apply()
도 같은 방식으로 동작하며 최대 값을 리턴합니다.
const arr = [30, 40, 10, 20];
const min = Math.min.apply(null, arr);
const max = Math.max.apply(null, arr);
console.log(min);
console.log(max);
Output:
10
40
2. Math.min(), Math.max() : 배열에서 최대, 최소 값 찾기
min(num1, num2, ....)
, max(num1, num2, ....)
는 인자로 전달된 숫자 중에 최소, 최대 값을 찾아서 리턴합니다. 인자 개수는 제한이 없습니다.
const min = Math.min(10, 20, 30, 40);
const max = Math.max(10, 20, 30, 40);
console.log(min); // 10
console.log(max); // 40
이 함수들을 이용하여 배열의 모든 요소를 min()
, max()
에 전달하면 배열의 최대, 최소 값을 찾을 수 있습니다. 특히, Spread Operator(전개 연산자)를 이용하면 배열의 모든 요소를 쉽게 함수의 인자로 전달할 수 있습니다. Spread Operator는 ...arr
와 같은 표현식이며, 배열 arr
의 모든 요소를 나열하여 인자로 전달합니다.
아래 예제는 min(), max()와 Spread Operator를 이용하여 최대, 최소값을 찾는 예제입니다.
const arr = [30, 40, 10, 20];
const min = Math.min(...arr);
const max = Math.max(...arr);
console.log(min);
console.log(max);
Output:
10
40
3. for 반복문으로 min, max 함수 구현
아래와 같이 직접 반복문으로 배열을 순회하면서 최소 값과 최대 값을 찾을 수 있습니다. 비교하기 전에 min의 초기값은 Infinity로, max의 초기 값은 -Infinity로 설정하였습니다.
function minOfArray(arr) {
let min = Infinity;
for (let i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
return min;
}
function maxOfArray(arr) {
let max = -Infinity;
for (let i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
const arr = [30, 40, 10, 20];
const min = minOfArray(arr);
const max = maxOfArray(arr);
console.log(min);
console.log(max);
Output:
10
40
Loading script...
Related Posts
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화
- JavaScript Set clear() 함수, 모든 값 제거
- JavaScript Set add() 함수
- JavaScript Set delete() 함수, 값 제거
- JavaScript Set has() 함수 (값 존재 여부 확인)
- JavaScript String split() 함수
- JavaScript - 경과 시간 계산 (Elapsed time)
- JavaScript - 실행 시간 측정 방법
- JavaScript - 날짜, 시간 포맷 (Date format)
- JavaScript - slice()로 배열 자르기, 나누기
- Node.js - 파일에 특정 문자열이 포함되어있는지 확인
- Node.js - 특정 패턴과 일치하는 모든 파일 찾기
- Node.js - 디렉토리의 파일 리스트 가져오기
- Node.js - 파일, 디렉토리(하위 파일) 삭제
- Node.js - 파일 이름 변경
- JavaScript - switch 조건문
- JavaScript - 배열의 특정 요소 찾기, Index 찾기
- JavaScript - 특정 값으로 배열 채우기, Array.fill()
- JavaScript - 배열을 객체로 변환, 4가지 방법