So kopieren Sie ein Objekt in Javascript

WBOY
Freigeben: 2023-05-16 09:11:07
Original
4834 Leute haben es durchsucht

JavaScript ist eine leistungsstarke Programmiersprache, die viele Methoden zum Bearbeiten von Objekten bietet. In JavaScript bezieht sich ein Objekt auf eine Datenstruktur, die aus Schlüssel-Wert-Paaren besteht. Manchmal müssen wir ein Objekt kopieren, anstatt es einfach zu referenzieren. In diesem Artikel besprechen wir die verschiedenen Möglichkeiten zum Kopieren von Objekten in JavaScript.

Methode 1: Verwenden Sie Object.assign()

Verwenden Sie die Methode Object.assign(), um alle Eigenschaften eines oder mehrerer Quellobjekte in das Zielobjekt zu kopieren. Diese Methode kann auch zum Kopieren von Objekten verwendet werden.

Zum Beispiel haben wir ein Objekt, das Mitarbeiterinformationen enthält:

let employee = {
    name: 'John Doe',
    age: 25,
    position: 'Developer'
};
Nach dem Login kopieren
Nach dem Login kopieren

Wir können Object.assign() verwenden, um dieses Objekt zu kopieren:

let newEmployee = Object.assign({}, employee);
Nach dem Login kopieren

In diesem Beispiel verwenden wir das leere Objekt als Zielobjekt und machen es zum ersten Parameter werden übergeben. Das Quellobjekt (Mitarbeiter) ist der zweite Parameter. Wenn wir diesen Code ausführen, wird ein neues Objekt „newEmployee“ erstellt, das alle Eigenschaften und Werte des Mitarbeiterobjekts enthält.

Wenn wir mehrere Objekte kopieren möchten, können wir sie der Reihe nach an die Methode Object.assign() übergeben, wie unten gezeigt:

let newEmployee = Object.assign({}, employee1, employee2, employee3);
Nach dem Login kopieren

Methode 2: Verwenden Sie den Spread-Operator

Der Spread-Operator (.. .), die an verschiedenen Orten eingesetzt werden können. Wir können den Spread-Operator in einem Array oder Objekt verwenden, um seine Elemente zu verteilen. Verwenden Sie den Spread-Operator in einem Objekt, um alle Eigenschaften vom Quellobjekt zum Zielobjekt zu kopieren.

Zum Beispiel können wir den Spread-Operator verwenden, um das Mitarbeiterobjekt zu kopieren:

let newEmployee = { ...employee };
Nach dem Login kopieren

In diesem Beispiel erstellen wir ein neues Objekt „newEmployee“ mit allen vom Mitarbeiterobjekt verteilten Eigenschaften. Das „…“ ist hier die Syntax des Spread-Operators. Es extrahiert alle Eigenschaften aus dem Mitarbeiterobjekt und fügt sie dem neuen Objekt newEmployee hinzu. Dieses neue Objekt ist ein völlig unabhängiges Objekt und keine Referenz auf das Mitarbeiterobjekt.

Methode 3: Verwenden Sie JSON.parse() und JSON.stringify()

In JavaScript können wir auch die Methoden JSON.parse() und JSON.stringify() verwenden, um ein Objekt zu kopieren. Wir können das Objekt in einen JSON-String konvertieren und den String dann in ein neues Objekt analysieren.

Zum Beispiel haben wir ein Objekt:

let employee = {
    name: 'John Doe',
    age: 25,
    position: 'Developer'
};
Nach dem Login kopieren
Nach dem Login kopieren

Wir können die Methoden JSON.parse() und JSON.stringify() verwenden, um dieses Objekt zu kopieren:

let newEmployee = JSON.parse(JSON.stringify(employee));
Nach dem Login kopieren

Die Kombination dieser beiden Methoden kann beim Kopieren von Objekten sehr nützlich sein . Beachten Sie jedoch, dass keine speziellen Datentypen kopiert werden dürfen, die Funktionen oder Objektreferenzen enthalten oder nicht in JSON-Strings konvertiert werden können.

Methode 4: Verwenden Sie die Deep-Copy-Methode

Wenn keine der oben genannten Methoden Ihre Anforderungen erfüllen kann, können Sie die Deep-Copy-Methode verwenden. Die Deep-Copy-Methode kopiert das gesamte Objekt, einschließlich Objektreferenzen und Unterobjekten. Es gibt viele Bibliotheken, die Deep-Copy-Methoden bereitstellen, z. B. Lodash, Underscore.js usw. Hier stellen wir die Verwendung der Lodash-Bibliothek zum Kopieren eines Objekts vor.

Zuerst müssen Sie die Lodash-Bibliothek installieren. In Node.js können Sie zum Installieren den folgenden Befehl verwenden:

npm install lodash
Nach dem Login kopieren

Im Browser können Sie den folgenden CDN-Link verwenden:

<script src="https://cdn.jsdelivr.net/lodash/4.17.15/lodash.min.js"></script>
Nach dem Login kopieren

Nach der Installation und Einführung der Lodash-Bibliothek können Sie zum Erstellen die cloneDeep()-Methode verwenden die ursprüngliche Kopie des Objekts:

let newObject = _.cloneDeep(originalObject);
Nach dem Login kopieren

In diesem Beispiel kopiert die cloneDeep()-Methode das originalObject-Objekt vollständig und gibt dann das neue Objekt newObject zurück.

Fazit

Die oben genannten sind die verschiedenen Möglichkeiten, Objekte in JavaScript zu kopieren. Jede Methode hat je nach Ihren Bedürfnissen ihre Vor- und Nachteile. Bevor Sie diese Methoden anwenden, ist es wichtig, zu verstehen, wie jede Methode funktioniert, und festzustellen, welche für Ihre spezifische Situation am besten geeignet ist. Für welche Methode Sie sich auch entscheiden, stellen Sie sicher, dass Sie verstehen, wann Sie eine Objektreferenz kopieren und wann Sie das Objekt selbst kopieren.

Das obige ist der detaillierte Inhalt vonSo kopieren Sie ein Objekt in Javascript. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage