// 数组reduce方法 // arr.reduce(function(上一次值, 当前值){}, 初始值) const arr = [1, 5, 8] // 1. 没有初始值 // const total = arr.reduce(function (prev, current) { // return prev + current // }) // console.log(total) // 2. 有初始值 // const total = arr.reduce(function (prev, current) { // return prev + current // }, 10) // console.log(total) // 3. 箭头函数的写法 const total = arr.reduce((prev, current) => prev + current, 10) console.log(total) <script> const arr = [{ name: '张三', salary: 10000 }, { name: '李四', salary: 15000 }, { name: '王五', salary: 20000 } ] // 语法: arr.reduce(function(上一次返回值, 当前数组元素){}, 初始值) // 计算薪资案例 // const total = arr.reduce(function (prev, current) { // return prev + current.salary // }, 0) const total = arr.reduce((prev, current) => prev + current.salary, 0) console.log(total) // 上一次返回值 当前元素的工资 本次返回值 // 0 10000 10000 (第一次遍历) // 10000 15000 25000 (第二次遍历) // 25000 20000 450000 (第三次遍历) </script>