반응형
Array.prototype.some() 이라는 배열 메서드는 대상 배열에 특정 조건에 만족하는게 "단 하나"라도 존재하는지 확인하는 메서드이다.
▷ 구문
arr.some(callback(curentValue, index, array)[, thisArg])
callback : function 안에서 조건에 맞는게 하나라도 있는지 체크하며, true/false를 반환한다.
curentValue: 현재 요소 (ex. 반복문의 현재 요소)
index : 현재 요소의 인덱스
array :대상 배열
thisArg : callback을 실행할 때 this로 사용하는 값.
예제를 통해 some() 메서드에 대해 알아보자.
▷ 예제1)
var array = [0,1,2,3,4]
array.some(function(elem,index,arr){
return elem == 0;
});
//true
구문과 예제를 보면 알겠지만 callback 함수를 통해 해당 배열안에
조건에 맞는게 하나라도 존재하면 true,
존재하는게 없으면 false를 반환한다.
그래서 빈 배열을 대상으로 실행하면 무조건 false를 반환하는 특징이 있다.
이 것 외에도 어떻게 보면 반복문이기 때문에
some()메서드의 특징 중 하나가 for문보다 속도가 상당히 빠르다는 것이다.
(속도 측정 : https://gs.saro.me/dev?tn=182 )
추가적으로 some()과는 반대로 오히려 "모든"값들의 조건 일치 여부를 판단하는 every()라는 메서드 역시 존재한다.
https://mine-it-record.tistory.com/475
같이 알아두자.
참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/some
반응형
댓글