生成数组中所有元素的频率表 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 }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言
C++
C#
MongoDB
MySQL
Javascript
PHP