Array的reduce方法应用两例:
1 . 如何知道一串字符串中每个字母出现的次数?用reduce来实现
var str = 'abcdaabc'
str.split('').reduce((res, cur) => {
res[cur] ? res[cur] ++ : res[cur] = 1
return res
}, {})
2 . 如何拍平数组?用reduce来实现
function flat(arr) {
return arr.reduce((prev, cur) => {
return prev.concat(Array.isArray(cur) ? flat(cur) : cur)
}, [])
}
flat([1, [2, [3, 4]]])