Klonen Sie ein Array in JavaScript

Ammar Ali 12 Oktober 2023
  1. Klonen Sie ein vorhandenes Array mit der Funktion values() in JavaScript
  2. Klonen Sie ein Array mit der Funktion concat() in JavaScript
  3. Klonen Sie ein Array mit der Funktion slice() in JavaScript
  4. Klonen eines Arrays mit einer Schleife in JavaScript
  5. Klonen Sie ein Array mit der Funktion map() in JavaScript
Klonen Sie ein Array in JavaScript

In diesem Tutorial wird erläutert, wie Sie ein vorhandenes Array mit den folgenden Funktionen in JavaScript klonen: values(), concat(), slice(), loop und map().

Klonen Sie ein vorhandenes Array mit der Funktion values() in JavaScript

Um ein vorhandenes Array zu klonen, können wir die Funktion values() in JavaScript verwenden. Dieser Befehl erstellt ein weiteres Array mit den gleichen Werten wie im angegebenen Array. Erstellen wir zum Beispiel ein Array und klonen es mit der Funktion values(). Siehe den Code unten.

var ArrA = [1, 2, 3];
var ArrB = Object.values(ArrA);
console.log(ArrB)

Ausgabe:

[1, 2, 3]

Wir können die Leistung dieser Funktion auch mit der Funktion Date() testen. Die Funktion Date() gibt die aktuelle Uhrzeit in Millisekunden zurück. Lassen Sie uns zum Beispiel ein 1000-mal-1000-Array erstellen und es mit der Funktion values() klonen und seine Leistung mit der Funktion Date() überprüfen. Siehe den Code unten.

num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
ArrB = Object.values(ArrA);
console.log(new Date() - TimeStart, 'ms');

Ausgabe:

19 ms

Dieser Test wird im Chrome-Browser durchgeführt, kann sich jedoch je nach System und Browser ändern. Mit dieser Methode können Sie die Leistung verschiedener Funktionen überprüfen.

Klonen Sie ein Array mit der Funktion concat() in JavaScript

Wir können auch die Funktion concat() verwenden, um ein vorhandenes Array in JavaScript zu klonen. Diese Funktion verkettet ein Array mit einem anderen Array, sodass wir ein neues erstellen können, indem wir ein leeres Array mit dem vorhandenen verketten. Erstellen wir zum Beispiel ein Array und klonen es mit der Funktion concat(). Siehe den Code unten.

var ArrA = [1, 2, 3];
var ArrB = [];
ArrB = ArrB.concat(ArrA);
console.log(ArrB)

Ausgabe:

[1, 2, 3]

Wir können die Leistung der Funktion concat() auch mit der Funktion Date() testen. Die Funktion Date() gibt die aktuelle Uhrzeit in Millisekunden zurück. Lassen Sie uns zum Beispiel ein 1000-mal-1000-Array erstellen und es mit der Funktion concat() klonen und seine Leistung mit der Funktion Date() überprüfen. Siehe den Code unten.

num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = [];
ArrB = ArrB.concat(ArrA);
console.log(new Date() - TimeStart, 'ms');

Ausgabe:

12 ms

Wie Sie in der Ausgabe sehen können, dauert es 12 Millisekunden, um ein 1000-mal-1000-Array mit der Funktion concat() zu klonen.

Klonen Sie ein Array mit der Funktion slice() in JavaScript

Wir können auch die Funktion slice() verwenden, um ein Array in JavaScript zu klonen. Diese Funktion gibt die ausgewählten Elemente oder Werte eines bestehenden Arrays zurück und speichert sie in einem anderen Array. Lassen Sie uns zum Beispiel ein Array aus einem vorhandenen Array mit der Funktion slice() erstellen. Siehe den Code unten.

var ArrA = [1, 2, 3];
var ArrB = [];
ArrB = ArrA.slice();
console.log(ArrB)

Ausgabe:

[1, 2, 3]

Wir können die Performance der Funktion slice() auch mit der Funktion Date() testen. Die Funktion Date() gibt die aktuelle Uhrzeit in Millisekunden zurück. Wir können die Zeit vor und nach dem Klonvorgang aufzeichnen, um die Zeit zu überprüfen, die diese Funktion benötigt. Lassen Sie uns zum Beispiel ein 1000-mal-1000-Array erstellen und es mit der Funktion slice() klonen und seine Leistung mit der Funktion Date() überprüfen. Siehe den Code unten.

num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = ArrA.slice();
console.log(new Date() - TimeStart, 'ms');

Ausgabe:

14 ms

In der Ausgabe dauert es vierzehn Millisekunden, um ein 1000-mal-1000-Array mit der Funktion slice() zu klonen.

Klonen eines Arrays mit einer Schleife in JavaScript

Wir können auch eine Schleife verwenden, um ein vorhandenes Array zu klonen. Wir müssen jedes Element mit einer Schleife von einem Array in ein anderes kopieren. Lassen Sie uns zum Beispiel eine while-Schleife verwenden, um ein vorhandenes Array zu klonen. Siehe den Code unten.

var ArrA = [1, 2, 3];
var ArrB = [];
var i = ArrA.length;
while (i--) {
  ArrB[i] = ArrA[i];
}
console.log(ArrB)

Ausgabe:

[1, 2, 3]

Wir können die Leistung dieser Methode auch mit der Funktion Date() testen; Dieser Befehl gibt die aktuelle Uhrzeit in Millisekunden zurück. Lassen Sie uns die Leistung dieser Methode mit einem 1000-mal-1000-Array überprüfen. Siehe den Code unten.

num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
var ArrB = [];
var i = ArrA.length;
while (i--) {
  ArrB[i] = ArrA[i];
}
console.log(new Date() - TimeStart, 'ms');

Ausgabe:

125 ms

Wie Sie in der Ausgabe feststellen können, dauert es 125 Millisekunden, um ein 1000-mal-1000-Array mit einer while-Schleife zu klonen.

Klonen Sie ein Array mit der Funktion map() in JavaScript

Um ein vorhandenes Array zu klonen, können wir auch die Funktion map() in JavaScript verwenden. Dieser Befehl erstellt ein weiteres Array, indem eine Funktion für jedes Element des vorhandenen Arrays aufgerufen wird. Lassen Sie uns zum Beispiel ein Array erstellen, indem Sie ein vorhandenes Array verwenden, indem Sie die Funktion map() verwenden. Siehe den Code unten.

var ArrA = [1, 2, 3];
var ArrB = ArrA.map(function(i) {
  return i
});
console.log(ArrB)

Ausgabe:

[1, 2, 3]

Wir können die Leistung der Funktion map() auch mit der Funktion Date() testen. Sehen wir uns an, wie sich diese Funktion bei einem 1000-mal-1000-Array verhält. Siehe den Code unten.

num = 1000 * 1000;
TimeStart = +new Date();
ArrA = Array(num);
ArrB = ArrA.map(function(i) {
  return i
});
console.log(new Date() - TimeStart, 'ms');

Ausgabe:

25 ms

Basierend auf der Ausgabe dauert es 25 Millisekunden, um ein 1000-mal-1000-Array mit der Funktion map() zu klonen.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - JavaScript Array