Heim > Web-Frontend > js-Tutorial > Wie kann ich ein Array von Objekten in JavaScript tief klonen?

Wie kann ich ein Array von Objekten in JavaScript tief klonen?

Linda Hamilton
Freigeben: 2024-12-13 04:59:10
Original
119 Leute haben es durchsucht

How to Deep Clone an Array of Objects in JavaScript?

Wie klone ich ein Array von Objekten in JavaScript?

Beim Umgang mit komplexen Datenstrukturen in JavaScript ist es oft hilfreich, stattdessen eine tiefe Kopie eines Arrays zu erstellen eine oberflächliche Referenz. Dadurch wird sichergestellt, dass Änderungen an der geklonten Kopie keine Auswirkungen auf das ursprüngliche Array haben und umgekehrt.

Erstellen einer tiefen Kopie

Verwenden von structureClone

Das moderne Der Ansatz zum tiefen Klonen eines Arrays verwendet die Methode „structuredClone“:

array2 = structuredClone(array1);
Nach dem Login kopieren

Diese Methode wird in den meisten modernen Versionen unterstützt Browsern und bietet einen zuverlässigen Deep-Clone-Mechanismus.

Verwendung von JSON.parse

Wenn structureClone nicht verfügbar ist, können Sie eine JSON-basierte Technik verwenden:

let clonedArray = JSON.parse(JSON.stringify(nodesArray))
Nach dem Login kopieren

Dies Der Ansatz funktioniert für Objekte, die JSON-serialisierbar sind, was bedeutet, dass sie in einen JSON-String und zurück konvertiert werden können. Es ist jedoch möglicherweise nicht für komplexe Objekte mit Funktionen oder bestimmten Datentypen geeignet.

Verwendung des Spread-Operators und der Karte

Bei flachen Objekten kann die Verwendung des Spread-Operators in Kombination mit der Karte eine bessere Leistung bieten:

clonedArray = nodesArray.map(a => ({...a}))
Nach dem Login kopieren

Diese Technik erstellt ein neues Objekt für jedes Element im Array und stellt so sicher, dass Änderungen am Klon keine Auswirkungen auf das haben Original.

Den richtigen Ansatz wählen

Der beste Ansatz zum Klonen eines Arrays von Objekten hängt von Ihren spezifischen Anforderungen ab. Für eine zuverlässige Deep Copy wird StructuredClone empfohlen. Für JSON-serialisierbare Objekte bieten JSON.parse und JSON.stringify eine flexible Option. Bei flachen Objekten bieten der Spread-Operator und die Kartenmethode eine bessere Leistung.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Array von Objekten in JavaScript tief klonen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage