微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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函数返回最终值.

原文地址:https://www.jb51.cc/js/150376.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐