Como copiar uma matriz em JavaScript

Uma matriz pode ser copiada em javascript usando o comando slice, os objetos na matriz são passados por referência.

Sintaxe:


var tab2 = tab1.slice();

O comando slice toma 2 parâmetros para gerar um subconjunto da aba atual, se nenhum parâmetro for passado, um clone da matriz atual é retornado.

Exemplo:

Este exemplo cria uma matriz com os valores a, b, c e d. A matriz é copiada na variável tab2. O primeiro valor da primeira matriz é modificado. Ambos os arrays são escritos nos logs, o primeiro array tem o valor modificado e o segundo não.

var tab1 = ['a', 'b', 'c', 'd'];
var tab2 = tab1.slice();

tab1[0] = '1';

console.log('tab1:' );
console.log( tab1);

console.log('tab2:' );
console.log(tab2);

O resultado será:


> "tab1:"
> Array ["1", "b", "c", "d"]
> "tab2:"
> Array ["a", "b", "c", "d"]


Referências:

Array slice