let arr
// 累加
arr = [1, 2, 3]
let total = 0
for (let i = 0; i < arr.length; i++) {
total += arr[i]
}
console.log(total) // 6
// 使用 reduce 累加
arr = [1, 2, 3]
// reduce 四个参数 分别为累计值、当前元素、当前索引、原数组
const sum = arr.reduce((acc, current) => acc + current, 0)
console.log(sum)
// 使用 reduce 来实现 map 同样的功能
arr = [1, 2, 3]
const mapArray = arr.map(value => value * 2)
const reduceArray = arr.reduce((acc, current) => {
// acc 是累计的值
// current 是当前遍历的值
acc.push(current * 2)
// 相当于 acc = acc
// 最后 return 的就是 最终的acc的值
return acc
}, [])
console.log(mapArray, reduceArray) // [2, 4, 6]
es6 - reduce
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 不废话,直接上正题。 1 forEach (让数组中的每一项都做一件事) 如果不做特殊处理,一般情况下,不...
- 1.map()方法 map函数可以看成是一种映射函数,而且是一一映射。 2.filter()方法 filter函数...
- es6数组新增6个方法1.map (映射)1个对一个 进去什么最后return 什么 不会改变原数组,返回一个...
- map forEach filter reduce都是针对数组。 map:遍历数组中每个元素并返回一个新数组,不改...
- 1、map方法 该方法返回一个新数组 不改变原数组 接收一个函数为参数代码实例: 2、every方法 用于检测数组...