reduce求和方法,有两种语法:
语法1(不带初始值):
let 结果 = arr.reduce( ( 累加的和, 数组元素) => {return 累加的和 + 数组元素
})
示例如下:
let arr = [3,5,7,9]
let sum = arr.reduce((total,curr) => {/*起始状态是: total = 3 curr = 5第一次循环后: total = 8 curr = 7第二次循环后: total = 15 curr = 9第三次循环后: total = 24 循环结束*/return total + curr
})
console.log(sum) // 24
语法2(带初始值,更常用):
let 结果 = arr.reduce( ( 累加的和, 数组元素) => {return 累加的和 + 数组元素
}, 初始值)
示例如下:
let arr = [3,5,7,9]
let sum = arr.reduce((total,curr) => {/*起始状态是: total = 100 curr = 3第一次循环后: total = 103 curr = 5第二次循环后: total = 108 curr = 7第三次循环后: total = 115 curr = 9第四次循环后: total = 124 循环结束*/return total + curr
}, 100)
console.log(sum) // 124
语法2更适用于list在套对象的使用,示例如下:
let arr = [{name: '语文', num: 10},{name: '数学', num: 20},{name: '英语', num: 30},
]
let sum = arr.reduce((total,curr) => {return total + curr.num
}, 0)
console.log(sum) // 60