javascript - 遍历范围的函数式方法 (ES6/7)

标签 javascript functional-programming ecmascript-6 ecmascript-harmony

<分区>

以更实用的方式(使用 ES6/ES7)执行以下操作的最佳方法是什么

let cols = [];
for (let i =0; i <= 7; i++) {
   cols.push(i * i);
}
return cols;

我试过,

return [ ...7 ].map(i => {
  return i * i;
});

但是翻译成

[].concat(7).map(function (n) {
  return n * n;
});

这不是我所期望的。

编辑:

@帕夫洛。确实,那是一个错误。我正在使用 JSX,例如,我想要 7 个 div,(未经测试)

let cols = [];
    for (let i =0; i <= 7; i++) {
       cols.push(<div id={i}> ...  </div>)
    }
    return cols;

所以这个想法确实是为了减少临时变量的数量和程序感。

最佳答案

可以创建一个空数组,填充它(否则 map 会跳过它)然后将索引映射到值:

Array(8).fill(0).map((_, i) => i * i);

关于javascript - 遍历范围的函数式方法 (ES6/7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30650961/

相关文章:

javascript - Angular 找不到创建的提供者

javascript - Webkit Speech api - 一般问题

vector - 通过附加向量来改变方案中的向量

haskell - 有哪些类型可以区分类别?

javascript - (_.merge in ES6/ES7)Object.assign without overriding undefined values

javascript - 从 Reddit/REST API 获取和渲染数据

javascript - 将值传递给 FillRect

javascript - 为 Bootstrap Carousel 添加不同的效果

javascript - 如何通过输入id获取formData文件

rust - 在 Rust 中,是否可以从函数返回静态函数?