<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>
*实现数组元素求和*
最新推荐文章于 2022-11-14 18:48:07 发布