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"]