[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
를 반환한다.