【发布时间】:2018-05-12 18:17:29
【问题描述】:
函数式编程就像影响我们编码习惯的大浪一样,就像forEach。
尽管 For 在 javascript 中非常方便且实用。我希望整个循环看起来像functional,所以我将数组设置为let index = 0...:
纯 javscript
for(let index = 0;index < 10;index++){
//count 10 times.
}
功能解决方案
Array(10).forEach((value,index,arr)=>{
//count 10 times.
})
当数组中的元素为self时,我使用fill来解决这个问题,fill使functional复杂。
有什么方法可以在Array 或for 中制作物品吗?
【问题讨论】:
-
支持的解决方案代码:
Array(10).fill().forEach(()=>{}) -
你想达到什么目的?
-
创建数组是一个严重的问题,因此您可以使用 forEach 而不是普通的 for 循环。它也可能会运行得更慢。考虑
for(let i=10; --i;){},它打字更少,性能更高。 -
@RachChen 像
forEach、,map这样的所有函数都是为了让数据操作更具可读性。它们永远不会取代for或while。这些功能的目的是让阅读变得容易。因此,如果我阅读,array.filter(...)我只会查看条件并了解其目的。同样的事情,如果使用 for 实现的话,可读性会降低,因为我将不得不阅读整个内容。 -
另外,你不能(明智地)摆脱 forEach,它必须运行整个长度,它不能代替 do或 while 循环。
标签: javascript arrays functional-programming