Konvertieren von Json-Objekten in Arrays, um durch ng-repeat mit Javascript zu iterieren? [Duplikat]

9

Hier ist mein Beispiel JSON, ich bekomme meine JSON-Obj von Firebase Ich muss die Liste in Array konvertieren, um in HTML durch DN-Wiederholung zu binden.

mein Json-Objekt ist

%Vor%

so habe ich

benötigt

Dies ist die Array-Struktur, die ich benötige, wenn ich die neue Liste hinzufüge, muss sie eindeutig in der Cricket-Kategorie gespeichert werden.

%Vor%

Ich bin neu zu kantig, bitte helfen Sie mir, dieses Problem herauszufinden

    
Sukumar MS 10.11.2016, 06:25
quelle

3 Antworten

13

Verwende Object.keys und gib sie an Array.prototype.map weiter, um das gewünschte Array zu erstellen - siehe Demo unten:

%Vor% %Vor%

BEARBEITEN :

Korrektur der Lösung, um list1 zu einem Array zu machen:

%Vor% %Vor%
    
kukkuz 10.11.2016, 06:30
quelle
3

Sie können Rekursionen durchführen, aber beachten Sie, dass dies bei großen Objekten zum Einfrieren führen kann und auch zu Maximum Call Stack exceeded

führen kann

Logik

  • Überfahren Sie das Objekt und prüfen Sie, ob alle Einträge Objekte sind.
  • Wenn ja, dann genügt ein einfacher Object.keys(obj).map(x=>obj[x]) .
  • Wenn nicht, dann müssen Sie einzelne Werte kopieren und wenn Objekt, dann wiederholen Sie es für innere Objekte. Eine einfache Möglichkeit besteht darin, jeden Schlüssel zu durchlaufen, und wenn der Typ kein Objekt ist, gebe einfach einen Wert zurück.

%Vor%
    
Rajesh 10.11.2016 07:26
quelle
1

Sie könnten so etwas tun, indem Sie über die Eingabeobjektschlüssel iterieren und die Schlüssel entfernen.

%Vor% %Vor%
    
Sreekanth 10.11.2016 06:40
quelle

Tags und Links