Verschmelzen Sie JS-Objekte ohne zu überschreiben

8

Angenommen, Sie haben zwei Objekte:

%Vor%

Was ist der beste Weg, sie zusammenzuführen (und tiefe Verschmelzung zuzulassen), um dies zu erzeugen:

%Vor%

Edit zur Klärung von Fragen: Im Idealfall würde ich im Falle einer vorhandenen Eigenschaft in einer und nicht in der anderen immer noch ein Array zur Normalisierung und zur weiteren Reduktion erstellen der Karte, aber die Antworten, die ich unten sehe, sind mehr als ausreichend. Für die Zwecke dieser Übung war ich nur auf der Suche nach Zeichenketten oder numerischen Zusammenführungen, so dass ich nicht jeden möglichen Situationsfall behandelt hatte. Wenn Sie mir eine Waffe an den Kopf hielten und mich aufforderten, eine Entscheidung zu treffen, würde ich sagen, dass sie auf Arrays voreingestellt war.

Vielen Dank für Ihre Beiträge.

    
dclowd9901 26.09.2011, 00:26
quelle

3 Antworten

9

Dies sollte tun, was Sie suchen. Es wird beliebig tiefe Objekte rekursiv in Arrays zusammenführen.

%Vor%

Und dieses wird dasselbe tun, außer dass das zusammengeführte Objekt Kopien von geerbten Eigenschaften enthält. Das ist wahrscheinlich nicht das, wonach Sie suchen (wie in den Kommentaren von RobG), aber wenn Sie das wirklich suchen, dann ist es hier:

%Vor%

Ich habe es mit Ihrem Beispiel auf Ссылка ausprobiert und es hat gut funktioniert:

%Vor%

Etwas kompliziertere Objekte funktionierten ebenfalls:

%Vor%     
Zachary Murray 26.09.2011, 01:04
quelle
3

Vermutlich würden Sie über ein Objekt iterieren und seine Eigenschaftsnamen in ein neues Objekt und Werte in Arrays kopieren, die diesen Eigenschaften zugewiesen sind. Iterate über nachfolgende Objekte, Hinzufügen von Eigenschaften und Arrays, wenn sie nicht bereits vorhanden sind, oder Hinzufügen von Werten zu vorhandenen Eigenschaften und Arrays.

z.B.

%Vor%

Sie könnten es ändern, um eine beliebige Anzahl von Objekten zu behandeln, indem Sie über die angegebenen Argumente iterieren, aber das Übergehen des Objekts, das zusammengeführt werden soll, erschwert.

    
RobG 26.09.2011 00:29
quelle
-1

Ссылка

%Vor%
    
Sabrina 11.12.2015 03:23
quelle

Tags und Links