在 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 次浏览

开启您的 职业

完成课程获得认证

开始
广告