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])
자세한 스펙은 아래 링크를 참고하세요.
'프론트엔드 개발 > JS & TS' 카테고리의 다른 글
[코드조각] 1부터 n까지의 합 구하기 (0) | 2019.09.26 |
---|---|
JS 기술면접 스터디 4주차: 전역스코프부터 Promise까지 (0) | 2019.07.31 |
JS 기술면접 스터디 3주차: 호이스팅부터 이벤트 버블링까지 (0) | 2019.07.21 |
JS 기술면접 스터디 2주차: 호스트 객체부터 Ajax까지 (0) | 2019.07.19 |
JS 기술면접 스터디 1주차: 이벤트 위임부터 코드구성까지 (2) | 2019.07.14 |