본문 바로가기
IT 개발

[JavaScript] 자바스크립트 every 함수

by Angela- 2025. 1. 15.

 

every() 함수
배열의 모든 요소가 특정 조건을 만족하는지 확인합니다.
모든 요소가 조건을 만족하면 true를 반환하고, 하나라도 조건을 만족하지 않으면 false를 반환합니다.

every() 함수는 배열을 순회합니다.
콜백 함수를 인자로 받아 각 요소에 대해 평가하고, 그 결과를 바탕으로 true 또는 false를 반환합니다.

● 모든 요소가 조건을 만족하면 true 를 반환합니다. 즉,  배열의 모든 요소가 콜백함수에서 true를 반환해야
  every() 함수 자체도 true 를 반환합니다.
● 만약 하나라도 조건을 만족하지 않는 요소가 있다면 false 를 반환합니다.
● 배열의 순회를 계속하면서 모든 요소가 콜백함수에서 true 를 반환하는지 확인하고, 조건을 만족하지 않는
  요소를 발결하면 더 이상 요소를 검사하지 않고, 배열 순회를 멈추게 됩니다.

 

구문

arr.every(callback(element[, index[, array]])[, thisArg])

 

사용 예제

 

● 배열의 모든 요소가 유효한 범위에 있는지 확인

const numbers = [12, 25, 40, 19, 39];

const numRange = numbers.every(num => num >= 10 && num <= 50);
console.log(numRange);  
// true (모든 숫자가 10과 50 사이에 있음)

 

 

● 모든 과일의 개수가 10개 미만인지 확인

const products = [
    {idapple,   count 8 },
    {idbananacount 3 },
    {idorangecount 5 }
];

// 개수가 10개 미만인지 판별하는 콜백 함수 
function isCountUnder(count) {
    return count < 10 ;
}

// 모든 과일의 개수가 10개 미만인지 확인 
const numCountUnder = products.every(product => isCountUnder(product.count));
console.log(numCountUnder); 
// true (모든 과일의 개수가 10개 미만)

 

 

every() 함수의 장점
배열의 모든 요소가 조건을 만족하는지 확인하는 부분은 간단하게 표현할 수 있습니다.
모든 요소가 조건을 만족하는 경우에만 true를 반환하며, 조건을 만족하지 않는 요소를 발견하면 
즉시 false를 반환하여 배열 순회를 멈춥니다. 이것은 성능 면에서 효율적이라 할 수 있습니다.

every() 함수의 단점
false를 유발하는 요소를 알 수 없습니다.
every() 함수는 조건을 만족하지 않는 요소가 어떠한 것인지에 대한 정보는 제공하지 않습니다. 
이는 조건을 만족하지 않는 요소에 대한 분석이 필요한 경우에는 한계가 될 수 있습니다.


조건을 만족하지 않는 요소를 식별하기 위해서는 filter() 함수를 사용할 수 있으며
조건을 만족하는 요소를 찾기 위해서는 find() 함수를 사용할 수 있습니다.