在 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 }

更新於:19-08-2020

817 次瀏覽

開啟您的 職業

完成課程獲得認證

開始
廣告