reduce ,从前向后累加
reduceRight,从后向前累加
<script>
// 定义数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// 求累加结果 . 传入一个参数(function)
var result = arr.reduce(function (prev, item, index, arr) {
// 从第二个成员值2开始遍历,第一个成员将在第一次遍历的时候作为第1个参数
console.log(this, arguments); //arguments里表示的分别是:上一次累积的结果,当前成员值,当前索引值,原数组
// 返回当次的结果 + 当前的成员
return prev + item;
})
console.log(result);
</script>
// 求累加结果 传入2个参数(function), 0
var result = arr.reduce(function (prev, item, index, arr) {
// 从第二个成员开始遍历,第一个成员将在第一次遍历的时候作为第1个参数
console.log(this, arguments);
// 第二个参数0就是初始化值,这时0作为第一个成员开始遍历
return prev + item;
}, 0) //累积则用1
console.log(result);
// reduceRight是从倒数第二个成员(8)开始遍历,
// 倒数第一个成员在第一次遍历的时候作为第一个参数 arguments里[9.8.7...]
// 注意:如果reduceRight方法传递了第二个参数,将从倒数第一个成员遍历, 第二个参数就是初始化的值
// 求累积的结果
var result = arr.reduceRight(function (prev, item, index, arr) {
console.log(this, arguments);
// 返回当次的结果 + 当前的成员
return prev * item;
}, 1)
console.log(result);
本文探讨了JavaScript中两种数组累加方法:reduce用于从前向后进行累加操作,而reduceRight则从后向前进行。这两种方法是处理数组元素求和或聚合的常用工具。
694

被折叠的 条评论
为什么被折叠?



