搜尋

首頁  >  問答  >  主體

javascript - 如何取得一個陣列中的相同元素的個數

就是有一個數組,例如var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"],如何篩選出相同的元素,還有相同元素的個數

怪我咯怪我咯2710 天前797

全部回覆(5)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-06-28 09:28:34

    簡單的循環不就出來了

    回覆
    0
  • 为情所困

    为情所困2017-06-28 09:28:34

    ["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)的元素並統計每個重複元素出現的次數?

    回覆
    0
  • 巴扎黑

    巴扎黑2017-06-28 09:28:34

    雷雷

    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-28 09:28:34

    可以用 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

    • 空元素不計

    回覆
    0
  • 滿天的星座

    滿天的星座2017-06-28 09:28:34

    雷雷

    回覆
    0
  • 取消回覆