Clonar un array en JavaScript

Ammar Ali 12 octubre 2023
  1. Clonar un array existente usando la función values() en JavaScript
  2. Clonar un array usando la función concat() en JavaScript
  3. Clonar un array usando la función slice() en JavaScript
  4. Clonar un array usando un bucle en JavaScript
  5. Clonar un array usando la función map() en JavaScript
Clonar un array en JavaScript

Este tutorial discutirá cómo clonar un array existente usando las siguientes funciones en JavaScript: values(), concat(), rebanada(), bucle y map().

Clonar un array existente usando la función values() en JavaScript

Para clonar un array existente, podemos usar la función values() en JavaScript. Este comando crea otra matriz con los mismos valores que en el array dada. Por ejemplo, creemos un array y clonemos usando la función values(). Vea el código a continuación.

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

Producción :

[1, 2, 3]

También podemos probar el rendimiento de esta función usando la función Date(). La función Date() devuelve la hora actual en milisegundos. Por ejemplo, creemos un array de 1000 por 1000 y clonémosla usando la función values() y verifiquemos su desempeño usando la función Date(). Vea el código a continuación.

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

Producción :

19 ms

Esta prueba se realiza en el navegador Chrome, pero puede cambiar según su sistema y navegador. Puede utilizar este método para comprobar el rendimiento de diferentes funciones.

Clonar un array usando la función concat() en JavaScript

También podemos usar la función concat() para clonar un array existente en JavaScript. Esta función concatena un array con otra matriz para que podamos crear una nueva concatenando un array vacía con la existente. Por ejemplo, creemos un array y clonemos usando la función concat(). Vea el código a continuación.

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

Producción :

[1, 2, 3]

También podemos probar el rendimiento de la función concat() usando la función Date(). La función Date() devuelve la hora actual en milisegundos. Por ejemplo, creemos un array de 1000 por 1000 y clonémosla usando la función concat() y verifiquemos su rendimiento usando la función Date(). Vea el código a continuación.

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

Producción :

12 ms

Como puede observar en la salida, se necesitan 12 milisegundos para clonar un array de 1000 por 1000 usando la función concat().

Clonar un array usando la función slice() en JavaScript

También podemos usar la función slice() para clonar un array en JavaScript. Esta función devuelve los elementos o valores seleccionados de un array existente y los guarda en otra matriz. Por ejemplo, creemos un array usando un array existente con la función slice(). Vea el código a continuación.

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

Producción :

[1, 2, 3]

También podemos probar el rendimiento de la función slice() usando la función Date(). La función Date() devuelve la hora actual en milisegundos. Podemos registrar el tiempo antes y después de la operación de clonación para comprobar el tiempo que tarda esta función. Por ejemplo, creemos un array de 1000 por 1000 y clonémosla usando la función slice() y verifiquemos su rendimiento usando la función Date(). Vea el código a continuación.

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

Producción :

14 ms

En la salida, se necesitan catorce milisegundos para clonar un array de 1000 por 1000 utilizando la función slice().

Clonar un array usando un bucle en JavaScript

También podemos usar un bucle para clonar un array existente. Necesitamos copiar cada elemento de un array a otra usando un bucle. Por ejemplo, usemos un bucle while para clonar un array existente. Vea el código a continuación.

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

Producción :

[1, 2, 3]

También podemos probar el rendimiento de este método usando la función Date(); este comando devuelve la hora actual en milisegundos. Comprobemos el rendimiento de este método utilizando un array de 1000 por 1000. Vea el código a continuación.

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

Producción :

125 ms

Como puede observar en la salida, se necesitan 125 milisegundos para clonar un array de 1000 por 1000 utilizando un bucle while.

Clonar un array usando la función map() en JavaScript

Para clonar un array existente, también podemos usar la función map() en JavaScript. Este comando crea otra matriz llamando a una función para cada elemento del array existente. Por ejemplo, creemos un array usando un array existente usando la función map(). Vea el código a continuación.

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

Producción :

[1, 2, 3]

También podemos probar el rendimiento de la función map() utilizando la función Date(). Veamos cómo funciona esta función en un array de 1000 por 1000. Vea el código a continuación.

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

Producción :

25 ms

Según la salida, se necesitan 25 milisegundos para clonar un array de 1000 por 1000 utilizando la función map().

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

Artículo relacionado - JavaScript Array