sindresorhus/eslint-plugin-unicorn

Rule proposal: Enforce `.toArray()` at the end of `Iterator` methods chain

Closed

#2,767 opened on Sep 25, 2025

 (5 comments) (1 reaction) (0 assignees)JavaScript (468 forks)user submission
help wantednew rule

Repository metrics

Stars
 (5,022 stars)
PR merge metrics
 (Avg merge 1d 16h) (399 merged PRs in 30d)

Description

Description

Note that it's a good idea to call toArray() as a last step of your processing. For example, fibonacci().take(10).toArray().filter(...) is less efficient, because iterator helpers are lazy and avoids creating a temporary array.

From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/toArray

Examples

// ❌
foo.toArray().filter(...)
//            ^^^^^^ Array#filter()

// ✅
foo.filter(...).toArray()
//  ^^^^^^ Iterator#filter()

Proposed rule name

not sure

Additional Info

No response

Contributor guide