Uma matriz pode ser copiada em javascript usando o comando slice, os objetos na matriz são passados por referência.
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.
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);
> "tab1:" > Array ["1", "b", "c", "d"] > "tab2:" > Array ["a", "b", "c", "d"]