Cloner un tableau en JavaScript

Ammar Ali 12 octobre 2023
  1. Cloner un tableau existant à l’aide de la fonction values() en JavaScript
  2. Cloner un tableau à l’aide de la fonction concat() en JavaScript
  3. Cloner un tableau à l’aide de la fonction slice() en JavaScript
  4. Cloner un tableau à l’aide d’une boucle en JavaScript
  5. Cloner un tableau à l’aide de la fonction map() en JavaScript
Cloner un tableau en JavaScript

Ce didacticiel expliquera comment cloner un tableau existant à l’aide des fonctions suivantes en JavaScript : values(), concat(), slice(), boucle et map().

Cloner un tableau existant à l’aide de la fonction values() en JavaScript

Pour cloner un tableau existant, nous pouvons utiliser la fonction values() en JavaScript. Cette commande crée un autre tableau avec les mêmes valeurs que dans le tableau donné. Par exemple, créons un tableau et clonez-le à l’aide de la fonction values(). Voir le code ci-dessous.

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

Production:

[1, 2, 3]

Nous pouvons également tester les performances de cette fonction à l’aide de la fonction Date(). La fonction Date() renvoie l’heure actuelle en millisecondes. Par exemple, créons un tableau de 1000 par 1000 et clonons-le à l’aide de la fonction values() et vérifions ses performances à l’aide de la fonction Date(). Voir le code ci-dessous.

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

Production:

19 ms

Ce test est effectué sur le navigateur Chrome, mais il peut changer en fonction de votre système et de votre navigateur. Vous pouvez utiliser cette méthode pour vérifier les performances de différentes fonctions.

Cloner un tableau à l’aide de la fonction concat() en JavaScript

Nous pouvons également utiliser la fonction concat() pour cloner un tableau existant en JavaScript. Cette fonction concatène un tableau avec un autre tableau afin que nous puissions en créer un nouveau en concaténant un tableau vide avec celui existant. Par exemple, créons un tableau et clonez-le à l’aide de la fonction concat(). Voir le code ci-dessous.

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

Production:

[1, 2, 3]

Nous pouvons également tester les performances de la fonction concat() à l’aide de la fonction Date(). La fonction Date() renvoie l’heure actuelle en millisecondes. Par exemple, créons un tableau de 1000 par 1000 et clonez-le à l’aide de la fonction concat() et vérifions ses performances à l’aide de la fonction Date(). Voir le code ci-dessous.

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

Production:

12 ms

Comme vous pouvez le constater dans la sortie, il faut 12 millisecondes pour cloner un tableau de 1000 par 1000 à l’aide de la fonction concat().

Cloner un tableau à l’aide de la fonction slice() en JavaScript

On peut aussi utiliser la fonction slice() pour cloner un tableau en JavaScript. Cette fonction renvoie les éléments ou valeurs sélectionnés d’un tableau existant et l’enregistre dans un autre tableau. Par exemple, créons un tableau en utilisant un tableau existant avec la fonction slice(). Voir le code ci-dessous.

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

Production:

[1, 2, 3]

Nous pouvons également tester les performances de la fonction slice() à l’aide de la fonction Date(). La fonction Date() renvoie l’heure actuelle en millisecondes. Nous pouvons enregistrer le temps avant et après l’opération de clonage pour vérifier le temps pris par cette fonction. Par exemple, créons un tableau de 1000 par 1000 et clonez-le à l’aide de la fonction slice() et vérifions ses performances à l’aide de la fonction Date(). Voir le code ci-dessous.

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

Production:

14 ms

Dans la sortie, il faut quatorze millisecondes pour cloner un tableau de 1 000 par 1 000 à l’aide de la fonction slice().

Cloner un tableau à l’aide d’une boucle en JavaScript

Nous pouvons également utiliser une boucle pour cloner un tableau existant. Nous devons copier chaque élément d’un tableau à un autre à l’aide d’une boucle. Par exemple, utilisons une boucle while pour cloner un tableau existant. Voir le code ci-dessous.

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

Production:

[1, 2, 3]

On peut aussi tester les performances de cette méthode à l’aide de la fonction Date() ; cette commande renvoie l’heure actuelle en millisecondes. Vérifions les performances de cette méthode à l’aide d’un tableau 1000 par 1000. Voir le code ci-dessous.

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');

Production:

125 ms

Comme vous pouvez le constater dans la sortie, il faut 125 millisecondes pour cloner un tableau 1000 par 1000 à l’aide d’une boucle while.

Cloner un tableau à l’aide de la fonction map() en JavaScript

Pour cloner un tableau existant, on peut aussi utiliser la fonction map() en JavaScript. Cette commande crée un autre tableau en appelant une fonction pour chaque élément du tableau existant. Par exemple, créons un tableau en utilisant un tableau existant en utilisant la fonction map(). Voir le code ci-dessous.

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

Production:

[1, 2, 3]

On peut aussi tester les performances de la fonction map() à l’aide de la fonction Date(). Vérifions comment cette fonction s’exécute par rapport à un tableau de 1 000 par 1 000. Voir le code ci-dessous.

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

Production:

25 ms

Sur la base de la sortie, il faut 25 millisecondes pour cloner un tableau de 1000 par 1000 à l’aide de la fonction map().

Auteur: 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

Article connexe - JavaScript Array