So kopieren Sie Array -Elemente in JavaScript

So kopieren Sie Array -Elemente in JavaScript
JavaScript Bietet verschiedene Methoden für Kopieren von Array -Elementen. Arrays in JavaScript können Objekte, Referenzen und primitive Werte umfassen. Wenn Sie die primitive Art von Daten haben, ist die Aufgabe, Array -Elemente zu kopieren, recht einfach. Wenn es jedoch um Objekte und Referenzen geht, müssen Sie zwischen dem auswählen Seicht Und Tiefes Kopieren Verfahren sorgfältig.

Wenn Referenzen in einem Array vorhanden sind, kopiert die flache Kopie nur die Referenzadressen. Wenn Sie also einige Änderungen in einer Kopie vornehmen, spiegelt die Änderung auch in der anderen Kopie wider. Da werden die Speicherorte geteilt. Sie können die Array -Elemente mit einem tiefen Kopieren klonen, um diese Situation zu vermeiden.

In diesem Artikel werden die Methoden zum Kopieren von Array-Elementen in JavaScript mit Hilfe geeigneter Beispiele erörtert.

So kopieren Sie Array -Elemente in JavaScript

JavaScript -Arrays werden als als Referenztypen Dies bedeutet, dass wenn Sie ein Array mit dem Zuordnungsoperator einem anderen Array zuweisen=”, Es wird nur die Referenz des ursprünglichen Arrays zuweisen und die Array -Elemente nicht kopieren.

Nach der Referenzzuweisung werden die ersten Array -Elemente auch betroffen, wenn Sie die Elemente des zweiten Arrays hinzufügen oder ändern. Mit Hilfe des folgenden Beispiels können Sie ein besseres Verständnis haben:

Beispiel

Zum Beispiel haben wir ein Array namens erstellt “VögelMit den folgenden Elementen:

var birds = ['paparot', 'crow'];

Im nächsten Schritt werden wir versuchen zuzuweisen “Vögel" zum "Neuvögel”Array mit der“=" Aufgabenverwalter:

var newbirds = Vögel;
Konsole.log (Neuvögel);

Danach werden wir dem „ein neues Element hinzufügen“Neuvögel”Array mit Hilfe der Methode JavaScript Push ():

Neuvögel.Push ('Taube')

Zuletzt werden wir die Elemente der "anzeigen" anzeigenVögel" Und "NeuvögelArray -Elemente im Konsolenfenster:

Konsole.log (Vögel);
Konsole.log (Neuvögel);

Die untergegebene Ausgabe bedeutet, dass wenn Sie das kopiert habenVögel"Array -Elemente mithilfe des Zuordnungsoperators"=”, Die später vorgenommenen Änderungen werden auf beide Arrays angewendet:

Zu diesem Zeitpunkt haben Sie verstanden, dass Arrays in JavaScript als Referenzwerte betrachtet werden. Wenn Sie also den Zuordnungsoperator verwenden, wird nur die Referenz des ursprünglichen Arrays kopiert, nicht die Array -Elemente.

In JavaScript können Sie das verwenden “Flache Kopie" oder "Tiefe KopieMethoden zum Kopieren von Array -Elementen. Klingen diese Begriffe für Sie neu? Kein Problem! Wir werden sie in den nächsten Abschnitten erklären.

Flache Kopie in JavaScript

Eine bitwise Kopie eines Objekts wird als flache Kopie bezeichnet.

  • In der flachen Kopie wird ein neues Objekt erstellt, das eine genaue Kopie der angegebenen Objektwerte hat.
  • Eine flache Kopie wird meistens verwendet, um das Element der ersten Ebene zu kopieren, was bedeutet, dass Sie nur die Elemente eines eindimensionalen oder klonen können oder 1D -Array.
  • Wenn das ursprüngliche Objekt Referenzen enthält, werden nur die Referenzadressen kopiert.

Der Operator ausbreiten […], Scheibe(), Und concat () Mit den Methoden können Sie flache Kopierarray -Elemente in JavaScript haben.

Deep Kopie in JavaScript

Wenn Sie die Elemente eines mehrdimensionalen Arrays kopieren möchten, müssen Sie die tiefe Kopieroperation durchführen, um die ursprünglichen Array-Elemente zu kopieren.

Der Begriff "Tiefe Kopie”Bezieht sich auf ein rekursives Kopierverfahren. Zuerst erstellt es eine neue Objektsammlung und kopiert dann die angegebenen Array -Elemente rekursiv. Wir können also sagen, dass im Fall einer tiefen Kopie ein vollständiges JavaScript-Array kopiert oder in ein anderes Array kloniert wird und die erste Stufe und alle verschachtelten Elemente eines mehrdimensionalen Arrays kopiert.

JSON.Stringify () Und JSON.analysieren () Methoden werden zum Kopieren von mehrdimensionalem Array verwendet, wo der JSON.Stringify () -Methode konvertiert das angegebene Objekt in die Zeichenfolge, die Sie mit Hilfe von JSON in ein Array konvertieren können.Parse () Methode.

Schauen wir uns nun einige praktische Beispiele für das Kopieren von Einzel- und Mehrdimensionalarrays mit den genannten flachen und tiefen Kopiermethoden an.

So kopieren Sie Array -Elemente in JavaScript mit dem Spread Operator

In JavaScript die “AusbreitungDer Bediener kann verwendet werden, um die Array -Elemente zu kopieren oder zu verteilen. Drei aufeinanderfolgende Punkte “„Repräsentieren Sie den Spread Operator. Denken Sie daran, dass der Spread -Operator die Array -Elemente nur auf Stufe eins kopiert und die verschachtelten Elemente als Referenzen übergeben werden.

Syntax des Spread -Operators, um das Array -Element zu kopieren

var array2 = [… array1];

Hier kopiert der Spread -Operator die Elemente von “Array1" Zu "Array2”.

Beispiel: So kopieren Sie Array -Elemente in JavaScript mit dem Spread Operator

Zunächst werden wir ein neues Array namens erstellen “Vögel"Zwei Elemente haben:"Papagei" Und "Krähe”:

var birds = ['paparot', 'crow'];

Dann werden wir das kopieren “Vögel"Array -Elemente zu"Neuvögel”Array:

var newbirds = [… Vögel];
Konsole.log (Neuvögel);

Zusätzlich können Sie überprüfen, ob Sie ein neues Element in die “hinzufügenNeuvögel"Array ändert das"Vögel”Array oder nicht:

Neuvögel.Push ('Taube')
Konsole.log (Neuvögel);
Konsole.log (Vögel);

Wie Sie aus der Ausgabe erkennen können, haben wir die “erfolgreich kopiert“Vögel"Array -Elemente zu"Neuvögel"Array und neue Elemente auf" drücken "Neuvögel"Haben keine Änderungen in der" angewendet "Vögel”Array:

So kopieren Sie Array -Elemente in JavaScript mithilfe der SLICE () -Methode

Die Methode JavaScript Slice () wird verwendet, um Array -Elemente in ein anderes Objekt oder Array zu kopieren. Das ursprüngliche Array wird bei der Verwendung der Slice () -Methode nicht geändert.

Syntax der Slice () -Methode zum Kopieren von Array -Elementen

var array2 = array1.Scheibe();

Gemäß der Syntax kopiert die Slice () -Methode die Elemente von “Array1" In "Array2”.

Beispiel: So kopieren Sie Array -Elemente in JavaScript mithilfe der SLICE () -Methode

Im folgenden Beispiel werden wir die “nutzen“Scheibe()"Methode zum Kopieren der"Vögel"Array -Elemente zu"Neuvögel”Array:

var birds = ['paparot', 'crow'];
var newbirds = Vögel.Scheibe();
Konsole.log (Neuvögel);

Jetzt neue Elemente in die “drückenNeuvögel"Array ändert nicht das"Vögel”Array:

Neuvögel.Push ('Taube')
Konsole.log (Neuvögel);
Konsole.log (Vögel);

Hier ist die Ausgabe, die wir aus der Ausführung des oben gegebenen Programms erhalten haben:

Aus der oben gegebenen Ausgabe ist deutlich zu erkennen, dass das Hinzufügen von Elementen in die “Neuvögel"Array hat die Elemente der" nicht beeinflusst "Vögel”Array.

So kopieren Sie Array -Elemente in JavaScript mithilfe der concat () -Methode

concat ()Ist eine weitere nützliche JavaScript -Methode, die Sie beim Kopieren von Array -Elementen unterstützen kann. In der concat () -Methode können Sie ein leeres Array nehmen und die ursprünglichen Array -Elemente kopieren. Es erstellt eine neue Kopie des angegebenen Arrays.

Syntax der concat () -Methode zum Kopieren von Array -Elementen

var array2 = [].concat (array1);

In der oben gegebenen Syntax kopiert die concat () -Methode die “die“Array1"Elemente in einem leeren Array [], und dann wird das Ergebnis in" gespeichert "Array2”.

Beispiel: So kopieren Sie Array -Elemente in JavaScript mithilfe der concat () -Methode

Jetzt werden wir das JavaScript verwenden “concat ()Methode zum Kopieren der Elemente der “Vögel"Array zu"Neuvögel”:

var birds = ['paparot', 'crow'];
var newbirds = [].concat (Vögel);
Konsole.log (Neuvögel);

Als nächstes werden wir drücken ein neuer Elemente zu “Neuvögel”Array und prüfen Sie, ob es das aktualisiert“Vögel”Array auch:

Neuvögel.Push ('Taube')
Konsole.log (Neuvögel);
Konsole.log (Vögel);

Schauen Sie sich die untergegebene Ausgabe an:

Wie Sie in der oben gegebenen Ausgabe sehen können, drücken Sie neue Elemente in die “Neuvögel"Array hat das nicht geändert"Vögel”Array.

So kopieren Sie mehrdimensionale Array-Elemente in JavaScript

Wenn Sie Elemente aus einem mehrdimensionalen Array kopieren möchten, können Sie den JSON verwenden.Stringify () und JSON.Parse () Methoden. Der JSON.Stringify () -Methode konvertiert das angegebene Objekt in eine Zeichenfolge, die dann mit Hilfe von JSON in ein Array konvertiert werden kann.Parse () Methode.

Syntax, um mehrdimensionale Array-Elemente zu kopieren

var array2 = json.analysieren (JSON.Stringify (Array1));

Erstens das "JSON.Stringify ()"Methode wird konvertieren"Array1”Zum String und dann wird es mit der“ einem Array (Objekt) analysiert “JSON.analysieren ()" Methode. Die zurückgegebenen Array -Elemente werden dann kopiert “Array2”.

Beispiel: So kopieren Sie mehrdimensionale Array-Elemente in JavaScript

In diesem Beispiel haben wir den JSON verwendet.Stringify () und JSON.Parse () Methoden zum Kopieren der Elemente der mehrdimensionalen Elemente “Vögel"Array zu"Neuvögel”:

var birds = [name: 'paper', name: 'crow'];
var newbirds = json.analysieren (JSON.Stringify (Vögel));
Konsole.log (Neuvögel);

Die übergegebene Ausgabe bedeutet, dass wir die Elemente der "erfolgreich kopiert haben"Vögel"Array zu"Neuvögel”.

Abschluss

Operator spreizen "[...]", Scheibe(), Und concat () Methoden ermöglichen es Ihnen seicht Kopieren 1d Array -Elemente in JavaScript und für tief Kopieren mehrdimensionaler Arrays, JSON.Stringify () Und JSON.analysieren () Methoden werden verwendet, wo der JSON.Die Stringify () -Methode konvertiert das angegebene Objekt in Zeichenfolge, das dann mit JSON an Array analysiert werden kann.Parse () Methode. In diesem Artikel wurde die Methoden zum Kopieren von Array-Elementen in JavaScript erörtert.