This is a case where you can benefit from associative arrays .
//Array associativo
var histograma = {};
// A função abaixo é chamada para cada célula:
$('table#table tr td').each(function() {
var chave = $(this).text(); // A chave do histograma
var val = histograma[chave] || 0; //Caso o valor não exista, assuma zero
histograma[chave] = val + 1; //Contagem de ocorrências
});
// Listando o resultado do método acima:
for (var chave in histograma) {
$('#res').append(chave + ':' + histograma[chave] + '<br/>');
}
The result of this snippet is as follows:
Tabela:
2
6
2
1
Ocorrências:
2 :2
6 :1
1 :1
Here's the example JSFiddle.
(Edit - after reading the other answers, this is basically a slightly leaner version of the response from Renan