OTTER-LOG

[TIL] Array의 every와 some

otter의 TIL기록장by otter2023년 2월 13일에 최종수정되었습니다.
잘못된 내용이 있으면 댓글을 달아주세요.

every

every 는 배열안의 모든 요소가 주어진 판별함수를 통과하는지 테스트 하고 Boolean 값을 반환한다. 이 메서드는 원본배열을 변경하지 않는다.

function isBigEnough(element, index, array) { return element >= 10; } [12, 5, 8, 130, 44].every(isBigEnough); // false [12, 54, 18, 130, 44].every(isBigEnough); // true

위의 예제를 보면, 모든 요소가 10보다 큰지 확인을 하고 이에 대해 Boolean 값을 반환한다.

const isSubset = (array1, array2) => array2.every((element) => array1.includes(element)); console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 7, 6])); // true console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); // false

every 를 이용해, 한 배열의 집합이 다른 배열의 집합의 부분집합인지 확인할 수 있다.


some

some 메서드는 배열안의 어떤 요소라도 주어진 콜백함수를 하나라도 통과하는지 확인한다. 그리고 Boolean 을 반환한다. 이 메서드는 원본배열을 변경하지 않는다.

const array = [1, 2, 3, 4, 5]; // Checks whether an element is even const even = (element) => element % 2 === 0; console.log(array.some(even)); // Expected output: true

[1, 2, 3, 4, 5] 의 배열에 한가지라도 통과한다면 true 를 반환한다.