Tôi vừa mới bắt đầu khám phá thư viện JavaScript Underscore sâu hơn và chỉ muốn làm rõ những gì tôi nghĩ _.reduce()
(còn được gọi là inject
và foldl
) là đúng. Câu hỏi của tôi là: bên dưới có đúng không?Làm sáng tỏ _.reduce làm rõ?
Khi _.reduce([1, 2, 3, 4, 5], function(memo, num) { return memo + num; }, 5);
được gọi, sau đây sẽ xảy ra:
memo
bắt đầu từ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
Và đó là lý do tại sao chức năng ran trả 20
. Có đúng không? Và do đó, _.reduceRight()
ngược lại và bắt đầu từ memo
+ list[ /* last element in array */ ]
?
Cảm ơn.
Trân trọng.
Cảm ơn, rất nhiều; tất cả những gì tôi muốn. Chúc một ngày tốt lành. – raf
Bạn được chào đón. –