Juntando dois arrays em JavaScript: concat() e spread operator

Entenda como usar concat() e o spread operator para juntar dois arrays em JavaScript e quando usar cada um para manipulação de dados.

Como juntar dois arrays em JavaScript (concat, spread operator)?

Em JavaScript, combinar dois ou mais arrays é uma tarefa comum, e existem métodos simples e eficientes para isso. Os dois métodos mais usados são concat() e o spread operator (...). Ambos têm suas peculiaridades e podem ser usados de acordo com a situação.

Método concat()

O método concat() é uma maneira simples de juntar dois ou mais arrays. Ele retorna um novo array contendo os elementos dos arrays originais, sem modificar os arrays originais.

Exemplo de código com concat():

let array1 = [1, 2, 3];
let array2 = [4, 5, 6];
let resultado = array1.concat(array2);
console.log(resultado);  // Exibe [1, 2, 3, 4, 5, 6]

Neste exemplo, concat() cria um novo array resultado, que contém todos os elementos de array1 seguidos dos elementos de array2. O array original não é modificado.

Características do concat()

  • Retorna um novo array com os elementos dos arrays concatenados.
  • Não modifica os arrays originais, o que pode ser útil quando você deseja manter a integridade dos dados.
  • Pode combinar múltiplos arrays ou valores.

Exemplo com múltiplos arrays:

let array1 = [1, 2];
let array2 = [3, 4];
let array3 = [5, 6];
let resultado = array1.concat(array2, array3);
console.log(resultado);  // Exibe [1, 2, 3, 4, 5, 6]

O método concat() pode ser usado para combinar vários arrays de uma vez.

Spread Operator (...)

O spread operator (...) é outra maneira muito popular de combinar arrays. Ele espalha os elementos de um array em outro, criando uma cópia dos elementos do array original e inserindo-os no novo array. O spread operator é útil quando você deseja juntar arrays de maneira concisa e flexível.

Exemplo de código com o spread operator:

let array1 = [1, 2, 3];
let array2 = [4, 5, 6];
let resultado = [...array1, ...array2];
console.log(resultado);  // Exibe [1, 2, 3, 4, 5, 6]

Neste exemplo, o spread operator ...array1 e ...array2 espalha os elementos dos dois arrays e os coloca no novo array resultado.

Características do Spread Operator (...)

  • Sintaxe concisa: O spread operator é mais curto e pode ser mais legível para combinar arrays em uma única linha.
  • Modifica arrays diretamente: O spread operator cria um novo array com os elementos dos arrays originais, sem modificar os arrays originais.
  • Funciona com objetos também: O spread operator pode ser usado não apenas com arrays, mas também com objetos, para copiar ou combinar suas propriedades.

Exemplo de combinação de arrays com o spread operator e valores adicionais:

let array1 = [1, 2];
let array2 = [4, 5];
let resultado = [...array1, 3, ...array2];
console.log(resultado);  // Exibe [1, 2, 3, 4, 5]

Aqui, além de espalhar os elementos de array1 e array2, o valor 3 é adicionado diretamente ao array resultante.

Comparando concat() e Spread Operator (...)

Característica concat() Spread Operator (...)
Sintaxe array1.concat(array2) [...array1, ...array2]
Retorno Novo array Novo array
Modificação dos arrays originais Não modifica os arrays originais Não modifica os arrays originais
Flexibilidade Aceita múltiplos arrays Mais flexível e conciso
Uso Combina arrays de maneira tradicional Permite combiná-los de forma mais concisa e flexível

Quando usar concat() ou Spread Operator?

  • Use concat() quando você deseja combinar dois ou mais arrays, especialmente se está lidando com uma quantidade fixa de arrays e quer manter a clareza.
  • Use o spread operator quando deseja uma sintaxe mais concisa, ou quando precisa de mais flexibilidade, como ao adicionar elementos entre os arrays ou ao combinar objetos.

Conclusão

Tanto concat() quanto o spread operator são métodos eficientes para combinar arrays em JavaScript. Ambos retornam um novo array e não modificam os arrays originais, o que pode ser útil para manter a integridade dos dados. A escolha entre concat() e o spread operator depende da sua preferência pela sintaxe ou da necessidade de flexibilidade em seu código. Ambos são essenciais para manipulação de dados em JavaScript.

Juntar arrays em JavaScript é uma tarefa essencial em muitos projetos, e conhecer as melhores práticas e métodos para fazer isso pode melhorar muito a qualidade e a legibilidade do seu código. O método concat() e o spread operator são duas formas comuns e eficientes para combinar arrays. O concat() oferece uma solução mais tradicional, enquanto o spread operator é mais moderno e conciso, oferecendo maior flexibilidade ao manipular arrays e objetos. Escolher qual usar depende do contexto e do estilo de código que você deseja adotar.

Algumas aplicações:

  • Combinar resultados de pesquisa de múltiplas fontes em um único array.
  • Concatenar listas de produtos ou dados de usuários em aplicativos interativos.
  • Unir arrays de configurações ou valores para criar listas dinâmicas.
  • Facilitar o gerenciamento de coleções de dados em funções que lidam com arrays múltiplos.

Dicas para quem está começando

  • Se você estiver apenas combinando dois arrays, o spread operator é geralmente a maneira mais simples e rápida.
  • Se precisar combinar vários arrays e manter a clareza, concat() pode ser uma escolha mais legível.
  • Experimente o spread operator quando quiser adicionar valores diretamente no meio de arrays combinados, tornando o código mais flexível.
  • Lembre-se de que ambos os métodos retornam um novo array, e não alteram os arrays originais.

Contribuições de Andressa Maria

Compartilhe este tutorial: Como juntar dois arrays em JavaScript (concat, spread operator)?

Compartilhe este tutorial

Continue aprendendo:

Como ordenar arrays em JavaScript (sort() e reverse())?

Entenda como ordenar arrays em JavaScript com os métodos `sort()` e `reverse()`, e saiba quando e como utilizá-los para ordenar dados.

Tutorial anterior

Como remover elementos duplicados de um array?

Entenda como remover elementos duplicados de um array em JavaScript usando métodos simples como `Set()` e `filter()`.

Próximo tutorial