Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I build an object counting occurrences in an Array in JavaScript?

I want to count how often a number in an Array occurs. For example, in Python I can use Collections.Counter to create a dictionary of how frequently an item occurs in a list.

This is as far as I've gotten in JavaScript:

var array = [1,4,4,5,5,7];
var obj = {};
for (var i=0; i < array.length; i++) {
 /* obj[array[i]] = +=1 */ <= pseudo code
}

How can I create this frequency counter object?

like image 743
e1v1s Avatar asked Mar 17 '26 04:03

e1v1s


1 Answers

Close but you can't increment undefined so you need to set initial value if it doesn't exist

var array = [1,4,4,5,5,7];
var obj = {};
for (var i=0; i < array.length; i++) {
  obj[array[i]] = (obj[array[i]] || 0) +1 ;
}
like image 129
charlietfl Avatar answered Mar 18 '26 17:03

charlietfl



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!