ES6之reduce用法

//------------数组去重
//方案1
var arr = ['xi','shanghai','xi','hhh','zhongguo','hhh']
var hash = {}
var red_arr  = arr.reduce((prev,cur,i)=>{
    hash[cur]?"":hash[cur]=true && prev.push(cur)
    return prev
},[])
console.log(red_arr)
//方案2
let set = new Set(arr)
console.log(Array.from(set))

//-----------计算数组每个元素出现的次数
var len = arr.reduce((prev,cur,i,arr)=>{
    prev[cur]?prev[cur]++ : prev[cur]=1
    return prev
},{})
console.log(len)

 reduce 的第二个参数,是prev的初始值以及数据类型。cur:数组的当前值,index.:数组的下标,arr :数组本身

原文地址:https://www.cnblogs.com/mengdiezhuangzhou/p/9596964.html