Using jQuery, how can I iterate over an object and get unique key values โโwith a count of each value?
For example, for this array:
var electrons = [ { name: 'Electron1', distance: 1 }, { name: 'Electron2', distance: 1 }, { name: 'Electron3', distance: 2 }, { name: 'Electron4', distance: 2 }, { name: 'Electron5', distance: 2 }, { name: 'Electron6', distance: 2 }, { name: 'Electron7', distance: 2 }, { name: 'Electron8', distance: 2 }, { name: 'Electron9', distance: 2 }, { name: 'Electron10', distance: 2 }, { name: 'Electron11', distance: 3 }, ];
I would like to get the following:
var distance_counts = {1: 2, 2: 8, 3: 1};
I have this one that works, but a little awkward:
var radius_counts = {}; for (var i = 0; i < electrons.length; i++) { if (electrons[i].distance in radius_counts) { radius_counts[electrons[i].distance] += 1; } else { radius_counts[electrons[i].distance] = 1; } }