Wie kann ich Daten von einem Array durch zweimaliges Iterieren erhalten? Zum Beispiel habe ich einen Datensatz:Wie wiederhole ich zweimal innerhalb eines Arrays?
var data = [
{"Fruits ":"Apples","Fresh":"12","Rotten":"5","Total":"17"},
{"Fruits ":"Oranges","Fresh":"34","Rotten":"6","Total":"40"},
{"Fruits ":"Strawberries","Fresh":"67","Rotten":"8","Total":"75"},
{"Fruits ":"Bananas","Fresh":"23","Rotten":"5","Total":"28"}
]
Zuerst möchte Ich mag auf der rechten Seite zu durchlaufen und alle Schlüssel bis zum Ende des ersten Objekts und dann nach unten, so dass ich alle Werten des Schlüssels erhalten so dass ich
Erwartete Ausgabe
[{ 'name': 'Fresh',
'data': [12, 34, 67, 23]
},
{
'name': 'Rotten',
'data': [5, 6, 8, 5]
},
{
'name': 'total',
'data': [17, 40, 75, 28]
}]
Bisher habe ich versucht, dies:
var categorie = []
var seriesNames = []
var series = []
for(var i=0; i<data.length; i++){
categorie.push(_.values(data[i])[0])
}
for(i=1; i<data.length; i++){
seriesNames.push(_.keys(data[0])[i])
}
Aber ich bin stecken, wie man das Datenarray bekommt und verbinde es mit seriesName. Live-Kopie: plunker
EDIT Die Schlüssel, Werte und Datenlänge variabel sind, da ich mit dynamischen Daten zu tun habe.
hier keine JSON Es gibt. JSON ist eine * textuelle Notation * für den Datenaustausch. [(Mehr)] (http://stackoverflow.com/a/2904181/157247) Wenn Sie mit JavaScript-Quellcode arbeiten und sich nicht mit einem * string * befassen, haben Sie es nicht mit JSON zu tun. –