This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Iterator.prototype.some()
Baseline 2025Newly available
Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Iterator 인스턴스의some() 메서드는Array.prototype.some()와 비슷합니다. 반복자가 생성한 요소 중 적어도 한 개의 요소라도 주어진 함수에 의해 구현된 테스트를 통과하는지 여부를 시험합니다. 이 메서드는 불리언 값을 반환합니다.
In this article
구문
some(callbackFn)매개변수
callbackFn반복자에 의해 생성된 각 요소에 대해 실행될 함수. 해당 요소가 테스트를 통과하면참 같은 값을 반환해야 하며, 그렇지 않을 경우거짓 같은 값을 반환해야 합니다. 해당 함수는 다음과 같은 인자와 함께 호출됩니다.
반환 값
callbackFn이 적어도 하나의 요소에 대해참 같은 값을 반환한다면true, 그렇지 않으면false를 반환합니다.
설명
some() 메서드는 반복자를 순회하며 각 요소에 대해 한 번씩callbackFn 함수를 호출합니다. 해당 함수가 참 같은 값을 반환하면 즉시true를 반환합니다. 그렇지 않으면 반복자의 끝까지 순회한 후false를 반환합니다.some()가true를 반환하면, 기본 반복자는return() 메서드를 호출하면서 닫힙니다.
배열 메서드에 비해 반복자 헬퍼의 주요 장점은 무한 반복자와 작업할 수 있다는 점입니다. 무한 반복자의 경우,some()는 첫 번째 참 같은 값을 발견하는 즉시true를 반환합니다.callbackFn이 항상 거짓 같은 값을 반환하면, 이 메서드는 절대 반환되지 않습니다.
예제
>some() 사용하기
function* fibonacci() { let current = 1; let next = 1; while (true) { yield current; [current, next] = [next, current + next]; }}const isEven = (x) => x % 2 === 0;console.log(fibonacci().some(isEven)); // trueconst isNegative = (x) => x < 0;const isPositive = (x) => x > 0;console.log(fibonacci().take(10).some(isNegative)); // falseconsole.log(fibonacci().some(isNegative)); // 절대 완료 안됨some() 메서드를 호출하면 항상 기본 반복자를 닫습니다. 이는 메서드가 조기에 반환되는 경우에도 마찬가지입니다. 반복자는 절대 중간 상태로 남겨지지 않습니다.
const seq = fibonacci();console.log(seq.some(isEven)); // trueconsole.log(seq.next()); // { value: undefined, done: true }명세서
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-iterator.prototype.some> |