javascript – 下划线_.reduce澄清?

前端之家收集整理的这篇文章主要介绍了javascript – 下划线_.reduce澄清?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始更深入地探索 JavaScript Underscore库,只是想澄清一下我认为 _.reduce()(也称为inject和foldl)的做法是对的.我的问题是:下面是对的吗?

当_.reduce([1,2,3,4,5],function(memo,num){return memo num;},5);被调用,发生以下情况:

>备忘录从5开始
>备忘录列表[0] =备忘录= 6
>备忘录列表[1] =备忘录= 8
>备忘录列表[2] =备忘录= 11
>备忘录列表[3] =备忘录= 15
>备忘录清单[4] =备忘录= 20

这就是为什么run函数返回20.为什么呢?因此_.reduceRight()是相反的,从备忘录列表[/ *数组* /]中的最后一个元素开始?

谢谢.

问候.

解决方法

对,那是正确的. reduce回调的第一个参数表示从上一次迭代(或第一次迭代中的种子)返回的值.

回调的第二个参数是Array当前迭代的值.

因此,第一个参数是您尝试达到的任何结果的累加器.所有迭代完成后,从_.reduce函数返回最终值.

猜你在找的JavaScript相关文章