본문 바로가기
Language/JavaScript

[JavaScript] arr.some() - 배열에 존재하는 값이 특정 조건을 "단 한개"라도 만족하는지 판별하는 함수 (ft. 반복문)

by 썸머워즈 2020. 12. 16.
반응형

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

 

[JavaScript] arr.every() - 배열에 존재하는 "모든"값이 특정 조건을 만족하는지 판별하는 함수

Array.prototype.every() 이라는 배열 메서드는 대상 배열에 존재하는 "모든"값이 특정 조건에 만족하는지 확인하는 메서드이다. ▷ 구문 arr.every(callback(curentValue, index, array)[, thisArg]) callback..

mine-it-record.tistory.com

같이 알아두자.


참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/some

 

Array.prototype.some() - JavaScript | MDN

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

developer.mozilla.org

반응형


댓글

TOP