javascript数组的应用
1. reduce方法
参数: callback(pre, cur) 处理回调函数
pre: 上次回调处理结果或初始值
cur: 当前真正处理的数据元素
initialValue 返回值的初始值
应用场景: 统计数组中元素出现的次数或数组去重
(1)统计数组中,元素出现的次数
let arr = [1, 2, 3, 4, 5, 2, 4, 4, 6, 2, 3, 6]
let countElement = arr.reduce((pre, cur) => {
if (cur in pre) {
pre[cur]++
} else {
pre[cur] = 1
}
return pre
}, {})
console.log('统计出现数据:', countElement)
(2)数组去重
let removeRepeat = arr.reduce((pre, cur) => {
if (!pre.includes(cur)) {
pre.push(cur)
}
return pre
}, [])
console.log('去重后的数据: ', removeRepeat)
(3)数组中对象去重
result = res.reduce((pre,cur) => {
if(!temp.hasOwnProperty(cur.id)){
temp[cur.id] = true
pre.push(cur)
}
return pre;
},[])