xxxxxxxxxx
let strxx=[ 'B', '_', 'R', 'R', 'B', 'R' ];
let strxy=strxx.reduce((acu,item)=>
{
acu[item]=(acu[item]||0)+1;
return acu;
},{}); // if you wont objec {}, if you wont array []
console.log(strxy);//{ B: 2, _: 1, R: 3 }
xxxxxxxxxx
const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0);
// Examples
countOccurrences([2, 1, 3, 3, 2, 3], 2); // 2
countOccurrences(['a', 'b', 'a', 'c', 'a', 'b'], 'a'); // 3
xxxxxxxxxx
const arr = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
const counts = {};
for (const num of arr) {
counts[num] = (counts[num] ?? 0) + 1;
}
console.log(counts); // {2: 5, 4: 1, 5: 3, 9: 1}
xxxxxxxxxx
const array = [1, 2, 3, 5, 2, 5, 9, 8, 3, 5, 2, 5].reduce((count, value) =>
(value == 5 ? count + 1 : count), 0) // --> 4
xxxxxxxxxx
// The initial array we want to count occurences
var initial = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
// The count array asked for
var count = Array.from(new Set(initial)).map(val => initial.filter(v => v === val).length);
// Outputs [ 3, 5, 1, 1 ]
xxxxxxxxxx
Array.prototype.frequencies = function() {
var l = this.length, result = {all:[]};
while (l--){
result[this[l]] = result[this[l]] ? ++result[this[l]] : 1;
}
// all pairs (label, frequencies) to an array of arrays(2)
for (var l in result){
if (result.hasOwnProperty(l) && l !== 'all'){
result.all.push([ l,result[l] ]);
}
}
return result;
};
var freqs = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4].frequencies();
alert(freqs[2]); //=> 5
// or
var freqs = '1,1,2,one,one,2,2,22,three,four,five,three,three,five'
.split(',')
.frequencies();
alert(freqs.three); //=> 3