forEach는 반복도중 멈출 방법이 throw 밖에 없다!

Array.prototype.forEach() - JavaScript | MDN
MDN forEach
const a = [1,2,3,4,5]
a.forEach((n) => {
if (n == 2) {
return
}
console.log(n);
})
와 같은 코드가 있을 때 일반적인 배열의 반복이었다면 n == 2 였을 때 바로 반복이 종료되었을 것이다. 하지만 지금은 forEach 를 통한 배열의 반복이다. forEach 배열의 반복에서 중간에 멈추는 방법은 throw 가 던져지는 것 단 하나뿐이다.
공식 사이트에 이런 문구가 있다.
예외를 던지지 않고는forEach()
를 중간에 멈출 수 없습니다. 중간에 멈춰야 한다면forEach()
가 적절한 방법이 아닐지도 모릅니다.다음 방법으로는 조기에 반복을 종료할 수 있습니다.다른 배열 메서드every()
,some()
,find()
,findIndex()
는 배열 요소를 판별 함수에 전달하고, 그 결과의 참/거짓 여부에 따라 반복의 종료 여부를 결정합니다.
Last modified 2yr ago