vanilla js를 이용해서 배열을 반복할 때 forEach 문장을 사용할 수 있다.
문제는 forEach는 배열 요소를 처음부터 끝까지 순회하기 때문에 중간에 break 할 수가 없다.
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
nums.forEach(item => {
console.log("찾는 중.." + item);
if (item == 4) {
console.log("발견");
return true;
}
})
위 코드의 출력 결과는 아래와 같다. 원하는 아이탬을 찾았다면 중간에 벗어나고 싶은데 기본적으로 forEach문장은 그런 행동이 불가능하다.
이때 some() 함수를 사용하며 원하는 동작이 가능하다. some()에서 return true를 하면 반복문을 벗어나게된다.
nums.some(item => {
console.log("찾는 중.." + item);
if (item == 4) {
console.log("발견");
return true;
}
})