【发布时间】:2019-10-24 10:23:28
【问题描述】:
我想知道是否有更好的方法可以为数组的部分和生成性能更好的解决方案。
给定一个数组x = [ 0, 1, 2, 3, 4, 5 ],我生成了项目的子数组,然后计算每个数组的总和,得到:
[ 0, 1, 3, 6, 10, 15 ]
所以完整的代码是:
x.map((y,i)=>x.filter((t,j)=>j<=i))
.map(ii=>ii.reduce((x,y)=>x+y,0))
我想知道平面地图或其他一些数组方法是否会有不需要扩展每个子数组的解决方案。
【问题讨论】:
-
顺便说一下,这叫做prefix-sum或scan。许多集合框架在标准库中都有它,但不幸的是 ECMAScript 没有。
标签: javascript arrays functional-programming prefix-sum