Neste artigo você vai aprender a fazer uma cópia de array sem referência na linguagem JavaScript, de uma forma simples e eficaz

cópia de array sem referência capa

Fala programador(a), beleza? Bora aprender mais sobre arrays em JavaScript!

Quando atribuímos um array já criado a uma outra variável acabamos criando uma referência e não um novo valor

Ou seja, se alteramos o array de referência alteramos também o array pai, veja um exemplo:

var a = [1,2,3];
var b = a;

b[0] = 5;

console.log(a); // [5, 2, 3]

Então como solucionar isso? Criar um array que seja uma cópia de outro, porém independente

Podemos utilizar o slice, sem parâmetro algum, aí um novo array será criado e teremos esta cópia independente

Veja na prática:

var a = [1,2,3];
var b = a.slice();

b[0] = 5;

console.log(a); // [1, 2, 3]

Temos o mesmo exemplo replicado, porém agora com slice, e o resultado é completamente diferente

O array b não é mais uma referência de a, e sim um dado completamente novo na memória do computador

Com a vinda do ES6 também temos uma possibilidade de cópia de array sem referência, veja:

var a = [1,2,3];
var b = [...a];

b[0] = 5;

console.log(a); // [1, 2, 3]

Este recurso é chamado de destructuring, onde ele vai resgatar cada um dos elementos vindos de a e transformar no array b

Conclusão

Neste artigo vimos como criar uma cópia de array sem referência em JavaScript

Utilizamos duas abordagens: slice e destructuring

O slice sem parâmetros simplesmente cria o novo array baseado no antigo

Já o destructuring vai resgatar todos os elementos do array anterior e inserir no novo, lembrando que é uma funcionalidade do ES6 e não está padronizada para todos os navegadores, tome cuidado ao utilizar

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments