javascript - 如何获取一个数组中的相同元素的个数
怪我咯
怪我咯 2017-06-28 09:26:34
0
5
802

就是有一个数组,例如var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"],如何筛选出相同的元素,还有相同元素的个数

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(5)
伊谢尔伦

简单的循环不就出来了

为情所困
["A", "C", "B", "A", "C", "D", "A", "C","B"].reduce((r,v)=>{
  r[0].has(v)?r[1][v]?r[1][v]++:r[1][v]=2:r[0].add(v); 
  return r;
},[new Set,{}])[1]
// {A: 3, C: 3, B: 2}

是这种效果么?选出重复(出现次数大于等于2)的元素并统计每个重复元素出现的次数?

巴扎黑

雷雷

女神的闺蜜爱上我

可以用 Map

["1", "2", 2, 0, -0, NaN, NaN, [], [], {}, {}, undefined, , , null].reduce((m, k) => {
    return m.set(k, (m.get(k) || 0) + 1);
}, new Map());

遵循以下规则:

  • NaN = NaN

  • +0 = -0

  • "1" != 1

  • {} != {}

  • [] != []

  • undefined != null

  • 空元素不计

滿天的星座

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板