프론트엔드/JAVASCRIPT

JavaScript some()과 every() 메서드 정리

CYANREDSKY 2025. 10. 25. 15:50

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