Spread-Operator, der Objekte in Array konvertiert

8

Ich versuche, eine Datenstruktur wie folgt zu konvertieren:

%Vor%

in eine Struktur wie diese:

%Vor%

Verwenden Sie den Spread-Operator wie folgt: [...data] gibt ein leeres Array zurück.

Ich habe auch [{...data}]

ausprobiert

Gibt es eine Möglichkeit, den Spread-Operator zu verwenden, um das gewünschte Ergebnis zu erhalten? Warum funktioniert dieser Ansatz nicht?

    
Turnipdabeets 24.07.2017, 16:00
quelle

3 Antworten

5

Es funktioniert nicht, weil nach MDN-Dokumenten

  

"Der Rest / Spread-Eigenschaften für ECMAScript-Vorschlag (Stufe 3) fügt den Objektliteralen Streueigenschaften hinzu. Er kopiert eigene aufzählbare Eigenschaften von einem bereitgestellten Objekt auf ein neues Objekt ."

Sie können das, was Sie versuchen, sehr einfach mit Object.keys().map() tun.

%Vor%
    
mhodges 24.07.2017, 16:13
quelle
3

Sie können Object.entries verwenden, um [key, Wert] pairs, und ordnen Sie sie mithilfe von berechneten Eigenschaftsnamen einem Array von Objekten zu :

%Vor%
    
Ori Drori 24.07.2017 16:32
quelle
1

Ich fürchte, Sie können den Operator nicht wie in Ihrem Beispiel verwenden, aber Sie können die gewünschte Ausgabe mit reduce erzeugen.

%Vor%
    
Olian04 24.07.2017 16:11
quelle