gpt4 book ai didi

javascript - 这个循环的函数式替换是什么?

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:49 24 4
gpt4 key购买 nike

nums = [2 5 3 7]
result = []
result.push {x:nums[0]}
for n in nums.slice(1)
result.push {n:n + result[-1].x}
log result
# [{x:2} {x:7} {x:10} {x:17}]

这很难用函数 map 来表达,因为每个元素都依赖于前一个元素。该算法的正确功能解决方案是什么?

最佳答案

我所知道的最简单的方法是避免性能抢劫的闭包、变量、额外的函数开销和全局变量:

result= [2, 5, 3, 7].map(function(a){ return { x: this[0]+=a }; }, [0]);

JS 提供了很少使用的第二个 .map() 参数来存储迭代之间所需的任何状态。

可能没有比这更简单的了,但是不懂咖啡,抱歉...

编辑:创建双语言(js+cs)演示:http://pagedemos.com/maptranforms/

关于javascript - 这个循环的函数式替换是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16992459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com