Reduce array to unique keys and count
JavaScript
var arr = [1, 2, 3, 1, 4, 2, 1, 2, 5, 3, 2, 4, 6, 7, 2, 3];
var obj = arr.reduce((acc, val) => {
acc[val] = (acc[val] || 0) + 1;
return acc;
}, {});
console.log(obj);
console.log(Object.keys(obj));
console.log(Object.keys(obj).map(val => obj[val]))