【发布时间】:2017-02-16 21:21:32
【问题描述】:
用谷歌搜索后,我找到了两个解决方案:
var data = [...Array(10).keys()];
console.log(data);
var data1 = Array(8).fill().map((_, i) => i);
console.log(data1);
data1 显示 [0, 1, ..., 7] 但是 data 只显示 [[object Array Iterator]] 我如何实际看到数字。
我需要它来对数字进行一些迭代(欧拉项目的一部分)。
以前我在 Python 中做过很多欧拉挑战。现在我决定重新审视它,并尽可能多地使用 JS(尽可能多的 ES6 语法)来帮助我发展我的 js 技能。
【问题讨论】:
-
如果我在浏览器(最新的稳定版 Chrome)中运行
var data = [...Array(10).keys()];,我会看到列出的数字。如果我只做Array(10).keys(),我会看到ArrayIterator。 -
是不是和codepen有关? codepen.io/wasteland/pen/QKQGNo/?editors=1111
-
@Wasteland 它与 Babel 有关,该特定代码笔正在使用它
-
这与 CodePen 对 Babel 的使用有关。我不确定他们运行的是什么版本,但如果你禁用 Babel 预处理器,一切都会正确。你可以运行这段代码on the Babel website,你仍然会看到你期望的结果。
-
谢谢。 ES6 特性不需要 babel 吗?