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
'일하딩 > javascript' 카테고리의 다른 글
[javascript] 중복 제거 - to remove duplicataes in an Array (0) | 2022.10.04 |
---|---|
[javascript] filter 사용법 정리 (1) | 2022.09.23 |
[Javascript] AJAX 란? 그리고 Spring 에서 ajax 사용 방법. (0) | 2020.11.19 |
댓글