eolas/Data_Structures/Patterns/Frequency_counters.md
2022-08-21 11:00:04 +01:00

783 B

categories tags
DSA

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';