数组合并常用concat,数组求和常用for循环,网上搜索发现了一个更高效的方法就是用reduce
1,reduce实现数组累加
2,reduce实现数组合并
3,reduce实现数组扁平
Es6简单实现:
arr.flat()
reduce简单用法讲解:
语法: arr.reduce([callback,initialValue])
callback
执行数组中每个值的函数,包含四个参数:
previousValue
上一次调用回调函数返回的值,或者是提供的初始值(initialValue)
currentValue
数组中当前被处理的元素
currentIndex
当前被处理元素在数组中的索引, 即currentValue的索引.如果有initialValue初始值, 从0开始.如果没有从1开始.
array
调用reduce的数组
initialValue
可选参数, 作为第一次调用 callback 的第一个参数。
最后一次调用回调函数返回的结果