Value frequencies
JavaScript, Array, Object · Oct 19, 2020

Creates an object with the unique values of an array as keys and their frequencies as the values.
- Use
Array.prototype.reduce()
to map unique values to an object's keys, adding to existing keys every time the same value is encountered.
const frequencies = arr =>
arr.reduce((a, v) => {
a[v] = a[v] ? a[v] + 1 : 1;
return a;
}, {});
frequencies(['a', 'b', 'a', 'c', 'a', 'a', 'b']); // { a: 4, b: 2, c: 1 }
frequencies([...'ball']); // { b: 1, a: 1, l: 2 }
Written by Angelos Chalaris
I'm Angelos Chalaris, a JavaScript software engineer, based in Athens, Greece. The best snippets from my coding adventures are published here to help others learn to code.
If you want to keep in touch, follow me on GitHub.