reduce 遍历循环

reduce 语法

 arr.reduce(function(prev, cur, index, arr) {
 
  }, init)
   //arr:表示原数组
   //prev:上一次回掉时的返回值,或者初始值init
   //index:表示当前元素值的索引,如果init的值为0,它的值就为0,否则就为1
   //cur:正在处理的数组元素

求和

 let arr = [1, 2, 3, 4, 5, 6, 7, 8]
        let sum = arr.reduce((pre, cur) => {
            return pre += cur
        }, 0)
        console.log(sum)

去重

let arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7, 8]
        let removeRepeat = arr.reduce((pre, arr) => {
            pre.indexOf(arr) === -1 && pre.push(arr)
            return pre
        }, [])
        console.log(removeRepeat)

求最大值

 let arr = [9, 1, 2, 2, 3, 4, 10, 5, 5, 6, 7, 7, 8]
        let max = arr.reduce((pre, arr) => {
            return pre > arr ? pre : arr
        })
        console.log(max)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
循环嵌套和reduce都是在处理数组元素的方法,但它们的使用方式和效果是不同的。 双循环嵌套是指在一个循环中再嵌套一个循环,用于对数组中的每一个元素进行比较或操作。通常在需要对数组中的每个元素进行两两比较的情况下使用,例如查找数组中的最大值或最小值。在双循环嵌套中,外层循环用于遍历数组的每一个元素,内层循环用于与外层循环的元素进行比较或操作。 而reduce是数组的一个高阶函数,它可以将数组中的所有元素通过一个指定的函数进行累积计算,得到一个最终的结果。reduce方法接收一个回调函数作为参数,这个回调函数接收两个参数,分别是累积值和当前元素。在每一次迭代中,回调函数会对累积值和当前元素进行操作,并将结果作为下一次迭代的累积值。最终,reduce方法会返回最后一次迭代的累积值作为结果。 在双循环嵌套中,我们需要手动编写循环遍历数组并进行操作,而reduce方法则更加简洁,可以在一行代码中完成对数组的累积计算。例如,通过reduce方法可以很方便地计算数组的总和,如引用所示。 另外,需要注意的是,reduce方法还可以接收一个初始值作为参数。如果不提供初始值,reduce方法会使用数组的第一个元素作为初始值,并从数组的第二个元素开始进行累积计算。如果数组为空且没有提供初始值,则reduce方法会抛出错误,如引用所示。如果我们希望将数组中的所有元素进行累积计算,可以省略初始值参数,如引用所示。 综上所述,双循环嵌套和reduce都是处理数组元素的方法,但在使用方式和效果上有所区别。双循环嵌套适用于需要对数组中的每个元素进行两两比较或操作的情况,而reduce适用于需要对数组中的所有元素进行累积计算的情况。具体使用哪种方法取决于具体的需求和编程场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值