我刚刚开始更深入地探索 JavaScript Underscore 库,只是想澄清一下我认为_.reduce()
(也称为inject
and foldl
)所做的事情是正确的。我的问题是:下面是对的吗?
当_.reduce([1, 2, 3, 4, 5], function(memo, num) { return memo + num; }, 5);
被调用时,会发生以下情况:
memo
开始于5
memo
+list[0]
=memo
=6
memo
+list[1]
=memo
=8
memo
+list[2]
=memo
=11
memo
+list[3]
=memo
=15
memo
+list[4]
=memo
=20
这就是 ran 函数返回的原因20
。是对的吗?因此_.reduceRight()
是相反的,从memo
+开始list[ /* last element in array */ ]
?
谢谢。
问候。