数组累加方法 reduce

本文探讨了JavaScript中两种数组累加方法:reduce用于从前向后进行累加操作,而reduceRight则从后向前进行。这两种方法是处理数组元素求和或聚合的常用工具。

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);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值