1. 使用reduce高阶函数
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]function sumArr(arr) {return arr.reduce((a, b) => a + b)}console.log(sumArr(arr)); //55
2. 如果数组是多维数组(flag/toString)
// 多维数组let arr = [1, 2, 3, [[4, 5], 6], 7, 8, 9, 10]// 使用flat函数 将多维数组转化成一维数组 其中flat方法参数 如果为Infinity时 将所有的多维数组都拆分成一维数组function sumArr(arr) {// return arr.flat(Infinity).reduce((a, b) => a + b)return arr.toString().split(',').reduce((a, b) => (a - 0) + (b - 0))}console.log(sumArr(arr)); // 55
3. 使用递归实现
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]function recursion(arr) {if (arr.length <= 0) return 0;let i = arr.shift()return i + recursion(arr)}console.log(recursion(arr)); // 55
