JavaScript ist eine leistungsstarke und flexible Programmiersprache, die häufig für die Entwicklung von Webanwendungen verwendet wird. Wenn wir mit Arrays in JavaScript arbeiten, müssen wir manchmal eine Kopie eines vorhandenen Arrays erstellen. Dies kann nützlich sein, um die ursprünglichen Daten beizubehalten, Änderungen an einem Array vorzunehmen oder verschiedene Array-Varianten zu vergleichen. In diesem Artikel werden wir uns einige einfache Möglichkeiten ansehen, wie Sie eine Kopie eines Arrays in JavaScript erstellen können.
Der erste Weg ist die Verwendung der Methode slice(). Diese Methode erstellt eine Kopie des Arrays, beginnend mit dem angegebenen Index und endend mit dem angegebenen Index (nicht einschließlich). Wenn wir keine Indizes angeben, wird die Methode verwendet slice() erstellt eine vollständige Kopie des Arrays. Zum Beispiel, wenn wir ein Array haben arr und wir möchten eine Kopie davon erstellen, wir können den folgenden Code verwenden:
let newArr = arr.slice();
Die zweite Methode ist die Verwendung des Spread-Operators. Operator . hiermit können Sie die Elemente eines Arrays erweitern und an ein anderes Array übergeben. Wir können diesen Operator verwenden, um eine Kopie des Arrays wie folgt zu erstellen:
let newArr = [. arr];
Der dritte Weg ist die Verwendung der Methode concat(). Methode concat() kombiniert zwei oder mehr Arrays und gibt ein neues Array zurück. Wir können das ursprüngliche Array mit einem leeren Array kombinieren, um eine Kopie davon zu erstellen:
let newArr = arr.concat([]);
Abschließend gibt es einige einfache Möglichkeiten, eine Kopie des Arrays in JavaScript zu erstellen. Wir haben uns die Verwendung von Methoden angesehen slice(), concat() und den Vertriebsbetreiber. Sie können eine dieser Methoden je nach Ihren Vorlieben und Anforderungen des Projekts auswählen.
Warum sollte ich eine Kopie eines Arrays in JavaScript erstellen?
Das Erstellen einer Kopie des Arrays vermeidet solche Probleme und verwendet eine neue unabhängige Kopie des Arrays für Änderungen und Manipulationen, ohne das ursprüngliche Array zu beeinflussen.
Das Kopieren eines Arrays kann in vielen Fällen nützlich sein, zum Beispiel:
- Arrays vergleichen: wenn Sie eine Kopie eines Arrays erstellen, können Sie zwei Arrays vergleichen, ohne dass die ursprünglichen Daten geändert werden müssen.
- Array-Modifikation: wenn Sie eine Kopie eines Arrays erstellen, können Sie Änderungen an der Kopie vornehmen, ohne das ursprüngliche Array zu ändern. Dies ist besonders nützlich, wenn Sie mit unveränderlichen Daten arbeiten oder Änderungen des Benutzers akzeptieren.
- Verwendung in verschiedenen Kontexten: sie können eine Kopie eines Arrays erstellen, um Daten zu lesen, zu filtern oder zu sortieren, ohne das ursprüngliche Array zu ändern, wodurch die Verarbeitung von Informationen in verschiedenen Teilen des Codes vereinfacht wird.
All diese Gründe machen das Erstellen einer Array-Kopie in JavaScript zu einem wichtigen und häufig verwendeten Werkzeug, mit dem Sie die Daten mit minimalen Risiken für das ursprüngliche Array verwalten können.
Einfache Möglichkeiten, ein Array in JavaScript zu kopieren
Wenn wir eine Kopie des Arrays in JavaScript erstellen müssen, können wir je nach unseren Bedürfnissen verschiedene Methoden verwenden. Betrachten Sie einige einfache und effektive Möglichkeiten, um eine Kopie eines Arrays zu erstellen.
1. Verwenden der slice() -Methode
Mit der slice() -Methode können Sie eine Kopie des Arrays erstellen, indem Sie einen Bereich von Indizes für die zu kopierenden Elemente angeben. Wenn Sie keine unteren und oberen Grenzen angeben, kopiert die Methode das gesamte ursprüngliche Array.
const originalArray = [1, 2, 3, 4, 5];const copyArray = originalArray.slice();
2. Verwenden der concat() -Methode
Mit der concat() -Methode können Sie zwei oder mehr Arrays kombinieren und eine Kopie des ursprünglichen Arrays erstellen.
const originalArray = [1, 2, 3, 4, 5];const copyArray = [].concat(originalArray);
3. Verwenden des Spread-Operators
Mit dem spread-Operator können wir eine Kopie des Arrays erstellen, indem wir einfach seine Elemente verteilen.
const originalArray = [1, 2, 3, 4, 5];const copyArray = [. originalArray];
4. Verwenden der Array-Methode.from()
Die Array-Methode.from() ermöglicht es Ihnen, eine Kopie eines Arrays aus einem Array-ähnlichen oder iterierbaren Objekt zu erstellen.
const originalArray = [1, 2, 3, 4, 5];const copyArray = Array.from(originalArray);
5. Verwenden der Array-Methode.map()
Mit der map() -Methode können Sie ein neues Array basierend auf dem ursprünglichen Array und der Rückruffunktion erstellen.
const originalArray = [1, 2, 3, 4, 5];const copyArray = originalArray.map(item => item);
Wählen Sie je nach Ihren Bedürfnissen und Vorlieben eine geeignete Methode zum Erstellen einer Kopie des Arrays aus. Vergessen Sie nicht, dass alle diese Methoden eine oberflächliche Kopie des Arrays erstellen, dh wenn sich Objekte oder andere Arrays innerhalb des Arrays befinden, verweisen sie auch auf dasselbe Objekt oder Array.
Methode 1: Verwenden des Spread-Operators (. )
Um eine Kopie des Arrays mit dem Spread-Operator zu erstellen, übergeben Sie einfach das ursprüngliche Array in eckigen Klammern und positionieren Sie den spread-Operator (. ). Zum Beispiel:
const originalArray = [1, 2, 3, 4, 5];const copiedArray = [. originalArray];
In diesem Beispiel ist die Variable originalArray enthält das ursprüngliche Array [1, 2, 3, 4, 5] und eine Variable copiedArray bewahrt eine Kopie davon auf.
Der spread-Operator kopiert nicht nur die Werte der Array-Elemente, sondern auch alle verschachtelten Strukturen. Wenn das ursprüngliche Array ein geschachteltes Array oder Objekt hat, werden diese ebenfalls in die Kopie kopiert. Dadurch werden sie auf andere Speicherbereiche verweisen, sodass sich das Ändern der Werte in der Kopie nicht auf das ursprüngliche Array auswirkt.
Der Spread-Operator ist eine bequemere und prägnantere Möglichkeit, eine Kopie eines Arrays zu erstellen, verglichen mit anderen Methoden wie Array.from() oder slice().
Methode 2: Verwenden der slice() -Methode
Die Syntax für die Verwendung der slice() -Methode ist sehr einfach:
| Methode | Die Beschreibung |
|---|---|
| slice() | Die Methode ohne Argumente erstellt eine Kopie des ursprünglichen Arrays. |
| slice(start) | Die Methode mit einem Argument start erstellt eine Kopie des ursprünglichen Arrays, beginnend mit dem Index start bis zum Ende des Arrays. |
| slice(start, end) | Die Methode mit den beiden Argumenten start und end erstellt eine Kopie des ursprünglichen Arrays, beginnend mit dem Index start und endend mit dem Index end - 1 . |
Beispiel für die Verwendung der slice() -Methode zum Erstellen einer Kopie eines Arrays:
const originalArray = [1, 2, 3, 4, 5];const copyArray = originalArray.slice();console.log(originalArray); // [1, 2, 3, 4, 5]console.log(copyArray); // [1, 2, 3, 4, 5]
In diesem Beispiel enthalten das ursprüngliche originalArray und seine Kopie des copyArray dieselben Elemente.
Methode 3: Verwenden der concat() -Methode
Um eine Kopie des Arrays mit der concat() -Methode zu erstellen, übergeben Sie einfach das ursprüngliche Array an sie.
let originalArray = [1, 2, 3];let copiedArray = originalArray.concat();
In diesem Beispiel enthält die Variable copiedArray eine Kopie des ursprünglichen Arrays originalArray .
Beachten Sie, dass die concat() -Methode eine oberflächliche Kopie des ursprünglichen Arrays erstellt, d. H. Wenn das Array Objekte oder andere Arrays enthält, werden diese zwischen der Kopie und dem ursprünglichen Array aufgeteilt. Wenn Sie eine tiefe Kopie eines Arrays erstellen möchten, das komplexe Objekte enthält, sollten Sie andere Methoden wie slice() oder JSON verwenden.parse(JSON.stringify()) .