计算每个元素出现的次数


var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
var countedNames = names.reduce((obj, name) => { 
  if (name in obj) {
    obj[name]++
  } else {
    obj[name]=1
  }
  return obj
}, {})
//reduce的第二个参数就是obj的初始值
console.log(countedNames)
// { 'Alice': 2, 'Bob': 1, 'Tiff': 1, 'Bruce': 1 }

计算数组某个元素出现的次数

const arr = [1,1,1,2,3,4,4,4,2,3,5,4];
const map = arr.reduce((m, x) => m.set(x, (m.get(x) || 0) + 1), new Map())
//某个次数
map.get(1)		//3