Blog

forEach 와 Some

forEach and some

JavaScript 에서도 컬렉션의 요소를 반복할 수 있는 forEach 문이 존재한다. 사용법은 간단하다
[1,2,3,4,5].forEach(function (v) { console.log(v) }) >> 1 >> 2 >> 3 >> 4 >> 5
JavaScript
복사
forEach문에서는 중간에 반복을 중단할 수 있는 break 문이 없다.
Error Exception을 발생시켜 멈추는 변태적인 방법이 있지만, 아래의 예제에서 보다시피 굉장히 지저분하고 가독성이 안좋다.
var StopException = new Error('StopException') try { [1,2,3,4,5].forEach(function (v) { console.log(v) if (v == 2) { throw StopException } }) } catch (e) { if (e !== StopException) { throw e } } >> 1 >> 2
JavaScript
복사
이를 대신해서 사용할 수 있는 함수가 바로 some() 이다. some() 함수는 반복하는 도중 true 값이 반환되면 반복을 중단한다.
[1,2,3,4,5].some(function (v) { console.log(v) return v == 2 }) >> 1 >> 2 >> true
JavaScript
복사