生成陣列中所有元素的頻率表 JavaScript


我們有一個包含重複項的數字/字串陣列,所有我們要做的是返回陣列中每個元素出現的頻率。

在這種情況下,返回一個以元素為鍵、以其值為頻率的物件將是完美的。

我們將使用 forEach() 迴圈迭代陣列,如果物件中已存在元素,則繼續增加其計數,否則,我們將為該元素在物件中建立新屬性。

最後,我們將返回該物件。

此問題的完整程式碼如下 −

const arr = [2,5,7,8,5,3,5,7,8,5,3,4,2,4,2,1,6,8,6];
const getFrequency = (array) => {
   const map = {};
   array.forEach(item => {
      if(map[item]){
         map[item]++;
      }else{
         map[item] = 1;
      }
   });
   return map;
};
console.log(getFrequency(arr));

控制檯中的輸出為 −

{ '1': 1, '2': 3, '3': 2, '4': 2, '5': 4, '6': 2, '7': 2, '8': 3 }

更新時間: 09-Oct-2020

2K+ 瀏覽

起步您的職業生涯

完成課程獲得認證

入門
廣告
© . All rights reserved.