Array.prototype.some() - 배열에 요소 존재여부를 판별하는 메소드

2019. 7. 30. 15:29프론트엔드 개발/JS & TS

some() 메서드는 배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트합니다.
- MDN의 Array.prototype.some()

Array.prototype.some()은 배열의 요소 중 특정 조건(판별함수)을 만족하는 요소가 하나라도 존재하는지 여부를 판단할 때 쓸 수 있습니다. Array의 요소 중 콜백함수(판별함수)가 true를 반환하는 값이 하나라도 나오면 해당 메소드는 true를 반환합니다. 다시 말하면 true를 반환하는 값이 하나도 없으면 false를 반환합니다.

 

알고리즘을 공부하면서 유용하게 쓸 수 있다는 걸 알았지만 많이 써보지 않아 익숙치 않아서 한번 정리합니다.

 

let array = [1, 2, 3, 4, 5];
const even = element => element % 2 === 0;

console.log(array.some(even)); // true
console.log(array.some(elem => elem % 2 === 0)); // true, even 함수 대신 익명함수를 콜백함수로 넣어도 결과는 같습니다.
// array 안에 홀수인 요소가 하나 이상 존재하기 때문에 true를 반환합니다.

 

some()는 인수로 콜백함수와 콜백을 실행할 때의 this로 사용할 값을 두가지를 받습니다.

이 콜백함수의 인수로는 처리할 현재 요소(필수), 해당 요소의 index(선택), 전체 array(선택)을 받습니다.

 

arr.some((item[, index, array])=>{}[, thisArg])

 

자세한 스펙은 아래 링크를 참고하세요.

 

Array.prototype.some()

some() 메서드는 배열 안의 어떤 요소라도 주어진 판별 함수를 통과하는지 테스트합니다.

developer.mozilla.org