Utilizzando jQuery, come posso scorrere su un oggetto e ottenere i valori univoci di una chiave con un conteggio di ciascun valore?JavaScript: ottieni valori univoci e i relativi conteggi da una serie di oggetti?
Ad esempio, per questa matrice:
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 },
];
mi piacerebbe tornare il seguente:
var distance_counts = {1: 2, 2: 8, 3: 1};
ho questo, che funziona, ma è un po 'impacciato:
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;
}
}
Prova questa http://stackoverflow.com/questions/1960473/unique-values-in-an-array –
@Artem - Questo è un completamente domanda diversa su come ottenere una serie di valori unici. – Richard
La matrice iniziale verrà sempre ordinata così com'è? – sp00m