*实现数组元素求和*

<script>
          let arr1 = [1,2,3,4,5,6,7,8,9]
          function sum(arr1){
               /*
               reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,
               每一次运行 reducer 会将先前元素的计算结果作为参数传入,
               最后将其结果汇总为单个返回值。
               total就是前一次回调得到的结果,i就是数组遍历的每一个元素
               */
               return arr.reduce((total,i)=>total +=i,0)
          }
          let arr2 = [1,2,3,[[4,5],6],7,8,9]
          function sum2(arr2){
               // 先将数组转为字符串,二维数组就没有了
               // 然后将字符串转换为数组,然后将每一个元素转换成数值型,再相加。
               return sum2.toString().split(',').reduce((total,i)=> total += Number(i),0)
          }

          // 递归实现
          let arr3 = [1,2,3,4,5,6,7,8,9]
          function sum3(arr){
               if(arr.length == 1) return arr[0]
               // 每次递归的参数就是用slice来分割的,
               /*
               slice()是用来将数组分割,然后返回一个新数组,slice(1)就是获取数组从下标值1开始往后的所有元素,组成一个新数组
               */
               return arr[0] + sum3(arr.slice(1))
          }
     </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值