2
respostas

Utilizando spread operator ou forEach()

const pedidos = ['carro', 'avião', 'casa']

// usando operador spread (...)
const copia = [...pedidos, 'iate'] // ou:

// let copia = []
// pedidos.forEach(pedido => copia.push(pedido))
// copia.push('iate')

console.log(Array original: ${pedidos.join(", ")})
console.log(Array copiado: ${copia.join(", ")})

2 respostas

Oi, Alexandre! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Em sua solução, chamou atenção o uso do spread operator para clonar o array, que deixa o código mais direto e fácil de ler. Do jeito que você explicou, a comparação com o forEach ajuda a entender bem as duas abordagens e quando cada uma pode ser usada.

Uma dica interessante para o futuro é conhecer o método slice(), que também cria uma cópia do array original sem alterá-lo. Veja este exemplo:


const pedidos = ['carro', 'aviao', 'casa'];
const copia = pedidos.slice();
copia.push('iate');
console.log(copia);

Esse código cria uma cópia independente do array original e depois adiciona um novo item apenas na cópia.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado pela resposta Rafaela. No curso, é apresentado na opinião do instrutor, este método slice() mesmo para poder fazer uma cópia de array.