【发布时间】:2018-05-12 15:10:44
【问题描述】:
类似于问题Convert ES6 Iterable to Array。但我只想要前 N 项。有什么内置的让我这样做吗?或者我怎样才能更优雅地实现这一点?
let N = 100;
function *Z() { for (let i = 0; ; i++) yield i; }
// This wont work
// Array.from(Z()).slice(0, N);
// [...Z()].slice(0, N)
// This works, but a built-in may be preferred
let a = [], t = Z(); for (let i = 0; i < N; i++) a.push(t.next().value);
【问题讨论】:
-
让它成为一个函数。它们恰好适用于您不想重复(有时是不优雅)逻辑的这种情况。
标签: javascript arrays slice infinite iterable