数组的reduce方法 - 累积运算
| 参数 | 描述 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 函数参数:
|
||||||||||
| initialValue | 可选。传递给函数的初始值 |
语法:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
// 求和 let arr = [7, 10, 3, 2] let resultOne = arr.reduce((sum, value) => { sum += value return sum }, 0) console.log(resultOne);
// 拼接字符串 let brr = ['小明', '小红', '小刘', '小李', '小赵'] let result2 = brr.reduce((str, value) => { return str += value }, '') console.log(result2);
// 求出每个人的年龄和 let crr = [ { name: "小明", age: 19 }, { name: '小红', age: 10 }, { name: '小青', age: 39 }, { name: '小爱', age: 15 } ] let result3 = crr.reduce((ageSum, obj) => { return ageSum += obj.age }, 0) console.log(result3);
// 求出年龄小于18岁的人的年龄和 let drr = [ { name: "小明", age: 19 }, { name: '小红', age: 10 }, { name: '小青', age: 39 }, { name: '小爱', age: 15 } ] let result4 = drr.reduce((sum, obj) => { if (obj.age <= 18) { sum += obj.age; } return sum; // 无论加不加, 都要把return给下一次循环函数体独立执行时, sum的初值 }, 0) console.log(result4);
//数组去重 let arrTest=[1,3,3,5,2,3,4,7] let resArr= arrTest.reduce((total,current,index)=>{ if (!total.includes(current)) { return total.concat(current) }else{ return total } },[]) console.log(resArr)
更多高级用法 期待小伙伴门自己去开发了

浙公网安备 33010602011771号