[JS] 배열이 조건을 만족하는지 확인하기 (every, some)

오늘은 달리기반 수업에서 얕은 복사 깊은 복사를 복습하고 배열 메서드와 객체 메서드를 추가적으로 알아보았다.

배열의 요소들이 특정 조건을 만족하는지 확인하기 위하여 배열 메서드인 every()와 some()을 활용할 수 있다!

 

every() - 모든 요소가 조건을 만족하는지 확인하기

콜백함수로 참과 거짓을 판단하고 모든 요소가 참일 때 true를 반환한다. 그렇지 않은 경우 false!

콜백함수는 순차적으로 요소에 적용되면서 이번 순서의 요소, 이번 요소의 인덱스, every()를 호출한 배열을 매개변수로 받는다.

 

const arr1 = [1, 20, 30];
const arr2 = [100, 200, 300];

function isBiggerThan10(element, index, array) {
    return element >= 10;
}

let arr1Return = arr1.every(isBiggerThan10);
let arr2Return = arr2.every(isBiggerThan10);

console.log(arr1Return);  // false
console.log(arr2Return);  // true

 

 

some() - 조건을 만족하는 요소가 존재하는지 확인하기

배열의 모든 요소가 조건을 만족하는 것은 아니지만 일부 요소가 조건을 만족하는지 확인할 때 활용할 수 있다.

every()와 마찬가지로 콜백함수로 참과 거짓을 판단하고 하나라도 참인 요소가 있으면 true를 반환한다. 모든 요소가 거짓일 때 false!

 

const arr1 = [1, 10, 100];
const arr2 = [1, 2, 3];

function isBiggerThan10(element, index, array) {
    return element >= 10;
}

let arr1Return = arr1.some(isBiggerThan10);
let arr2Return = arr2.some(isBiggerThan10);

console.log(arr1Return);  // true
console.log(arr2Return);  // false