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 :数组本身