Member-only story
JavaScript | Counts the frequency | four different ways
2 min readDec 28, 2023
Here are four different ways to write a function that counts the frequency of each value in an object:
1. Using a for...in
loop:
function countFrequency1(obj) {
const frequency = {};
for (let key in obj) {
const value = obj[key];
frequency[value] = (frequency[value] || 0) + 1;
}
return frequency;
}
2. Using Object.keys()
and forEach()
:
function countFrequency2(obj) {
const frequency = {};
Object.keys(obj).forEach(key => {
const value = obj[key];
frequency[value] = (frequency[value] || 0) + 1;
});
return frequency;
}
3. Using Object.values()
and forEach()
:
function countFrequency3(obj) {
const frequency = {};
Object.values(obj).forEach(value => {
frequency[value] = (frequency[value] || 0) + 1;
});
return frequency;
}
4. Using Object.entries()
and forEach()
:
function countFrequency4(obj) {
const frequency = {};
Object.entries(obj).forEach(([key, value]) => {
frequency[value] = (frequency[value] || 0) + 1;
});
return frequency;
}