본문 바로가기
일하딩/javascript

[javascript] some 사용법 정리

by 별난형 2022. 9. 23.

javascript 에서 for 문 외에 반복문이 많이 있다.

forEach, filter, some, map 등 이 중에서 some 에 대해 이야기 해보자.

 

some 에 사용되는 매개변수는 다음과 같다.

arr.filter(callback(element, index, array), thisArg)
element 처리할 현재 요소
index 처리할 현재 요소의 인덱스
array some 을 호출한 배열
thisArg callback 을 실행할 때 this 로 사용하는 값

some 은 true or false 를 반환하는데 [] 이거와 같이 빈 array 를 사용하면 무조건 false 를 반환한다.

 

나는 이 some 을 루프를 돌릴때 특정 조건이 맞아 루프를 빠져나와야 할 때 사용했다. 간단히 특정 값이 존재하는지 확인 하는 정도!

 

const arr = [1, 2, 3, 4, 5];

console.log(arr.some(onSome));

function onSome(item){
	return item > 2;
}

이렇게 하면 2보다 큰 값이 나올때 true 를 반환하고 루프는 멈추게 된다.

 

이걸 for 문으로 하면

const arr = [1, 2, 3, 4, 5];

var chk = false;
for(var i = 0; i < arr.length; i++){
	if(arr[i] > 2) {
    	chk = true;
        break;
    }
}

console.log(chk);

이것과 같다고 볼 수 있다. 뭔가 깔끔하기도 하고 아리송 하기도 하고....some 이라는 단어의 의미가 '조금', '일부의' 인데 흐음....뭐 여튼 some 을 이용해서 많은 양의 array 를 점검할 때 특정 break 같은 개념을 걸어서 프로세스 시간을 단축 시킬 수 도 있을 것 같다.

 

ES6 부터는 => 를 사용해서 좀 더 단순화 할 수 있다. 

const arr = [1, 2, 3, 4, 5];

console.log(arr.some(item => item > 2));

 

더 자세한 내용은 아래 MDN 을 참고!!!

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

댓글