eolas/neuron/4e98d18e-1a79-4e78-a4ac-f7e3a2de9887/Frequency_counters.md
2024-10-21 23:11:48 +01:00

771 B

tags
data-structures

Frequency counters

Here is a concise method for counting the number instances of each type of array element.

function frequencyCounter(...inputArr) {
  let counter = {};
  inputArr.forEach((item) => {
    // If item doesn't exist as a key in the counter, make 0 the val and add one
    // If item already exists as key in the counter, increment it by one
    counter[item] = (counter[item] || 0) + 1;
  });
  return counter;
}

An application of this would be checking for duplicates in an array:

const testArr = [1, 4, 3, 3];
const arrayFreq = frequencyCounter(testArr);
let count = Object.values(arrayFreq);

if (count.some((ele) => ele > 1)) {
  return "There are duplicates";
} else return "No duplicates";