使用场景较多的地方:数组求和,求积 等
let arr = [1, 2, 3, 4, 5]; let sum = arr.reduce((prev, cur, index, arr) { console.log({ 'prev': prev, 'cur': cur, 'index': index, 'arr': arr }); // 第一次遍历,初始值为0,prev: 0, cur: 1, index: 0, arr: [1,2,3,4,5] // 第二次遍历,初始值为 0 + 1,prev: 1, cur: 2, index: 1, arr: [1,2,3,4,5] // ... ... return prev + cur; }, 0); console.log('sum:', sum); // sum: 15 // 如果我设定initialValue为10 let arr = [1, 2, 3, 4, 5]; let sum = arr.reduce((prev, cur, index, arr) { console.log({ 'prev': prev, 'cur': cur, 'index': index, 'arr': arr }); // prev: 10, cur: 1, index: 0, arr: [1,2,3,4,5] // prev: 11, cur: 2, index: 1, arr: [1,2,3,4,5] // ... ... return prev + cur; }, 10); // <= 这个10 就是基础值 console.log('sum:', sum); // sum: 25 // 通常都将initialValue设为0, {}, [], 按需调整
JS中的reduce详解
于 2024-04-29 14:03:04 首次发布