JavaScript some()과 every() 메서드 정리
some()과 every()는 배열을 순회하며 조건을 검사하는 메서드입니다.
두 메서드 모두 **불리언 값(true 또는 false)**을 반환하며, 배열의 모든 요소를 검사하는 방식이 다릅니다.
some() 메서드
설명
some()은 배열의 요소 중 **하나라도 조건을 만족하면 true**를 반환합니다.
조건을 만족하는 요소를 찾으면 즉시 반복을 멈춥니다.
기본 문법
array.some(function(요소, 인덱스, 배열) {
return 조건식;
});
예제 1: 기본 사용
const numbers = [1, 3, 5, 7, 10];
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven);
출력 결과
true
배열 안에 10이라는 짝수가 있으므로 true가 반환됩니다.
예제 2: 문자열 배열 검사
const fruits = ['사과', '바나나', '체리'];
const hasBanana = fruits.some(fruit => fruit === '바나나');
console.log(hasBanana);
출력 결과
true
‘바나나’가 배열 안에 존재하므로 true를 반환합니다.
예제 3: 객체 배열 검사
const users = [
{ name: '홍길동', age: 25 },
{ name: '이몽룡', age: 17 },
{ name: '성춘향', age: 20 }
];
const hasMinor = users.some(user => user.age < 18);
console.log(hasMinor);
출력 결과
true
나이가 18세 미만인 사용자가 존재하므로 true가 반환됩니다.
every() 메서드
설명
every()는 배열의 **모든 요소가 조건을 만족해야 true**를 반환합니다.
하나라도 조건을 만족하지 않으면 즉시 false를 반환합니다.
기본 문법
array.every(function(요소, 인덱스, 배열) {
return 조건식;
});
출력 결과
true
모든 요소가 짝수이므로 true가 반환됩니다.
예제 2: 하나라도 조건 불만족 시
const numbers = [2, 4, 5, 8];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven);
출력 결과
false
5는 짝수가 아니므로 false가 반환됩니다.
예제 3: 객체 배열 검사
const users = [
{ name: '홍길동', age: 25 },
{ name: '이몽룡', age: 30 },
{ name: '성춘향', age: 22 }
];
const allAdults = users.every(user => user.age >= 20);
console.log(allAdults);
출력 결과
true
모든 사용자의 나이가 20세 이상이므로 true가 반환됩니다.
some() vs every() 비교
구분 some() every()
| 반환값 | 조건을 만족하는 요소가 하나라도 있으면 true | 모든 요소가 조건을 만족해야 true |
| 실행 중단 시점 | 조건을 만족하는 순간 | 조건을 만족하지 않는 순간 |
| 빈 배열일 때 | 항상 false | 항상 true |
| 주요 사용 목적 | “하나라도 포함되어 있나?” | “모두 해당되나?” |
함께 사용하는 예시
const scores = [85, 92, 78, 64];
const hasHighScore = scores.some(score => score > 90);
const allPassed = scores.every(score => score >= 60);
console.log('90점 이상이 있는가?', hasHighScore);
console.log('모두 60점 이상인가?', allPassed);
출력 결과
90점 이상이 있는가? true
모두 60점 이상인가? true
요약
메서드 설명 반환값 원본 배열 변경 여부
| some() | 하나라도 조건 만족 시 true | true 또는 false | ❌ 없음 |
| every() | 모두 조건 만족 시 true | true 또는 false | ❌ 없음 |
결론
some()과 every()는 배열에서 조건 검사를 수행할 때 매우 효율적인 메서드입니다.
some()은 부분적으로 조건을 확인, every()는 전체 조건을 확인할 때 사용합니다.
두 메서드는 코드의 가독성을 높이고, 복잡한 반복문을 단순화하는 데 유용합니다.
'프론트엔드 > JAVASCRIPT' 카테고리의 다른 글
| JavaScript reduce() 정리 (0) | 2025.10.28 |
|---|---|
| JavaScript filter() 정리 (0) | 2025.10.25 |
| JavaScript setTimeout()과 setInterval() 정리 (0) | 2025.10.25 |
| JavaScript 화살표 함수 (0) | 2025.10.24 |
| JavaScript map() 정리 (0) | 2025.10.23 |