Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Solução do Exercício 1 pela instrutora

Olá, gostaria de entender como funciona a linha em que o operador "spread" concatena todos os arrays:

function concatArrays(...arrays) {
    return [].concat(...arrays); // operador spread para concatenar os arrays   ------>>>>> essa linha !!!
}

const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [5, 6];
const arraysConcatenados = concatArrays(arr1, arr2, arr3);
console.log(arraysConcatenados); // Saída: [1, 2, 3, 4, 5, 6]

Obrigado!

1 resposta
solução!

Oii Giuli, tudo bem?

No JavaScript, o operador "spread" permite que um array ou objeto iterável seja expandido em locais onde zero ou mais argumentos (para chamadas de função) ou elementos (para arrays) são esperados.

No exemplo que você mencionou, a função concatArrays usa o operador "spread" para receber múltiplos arrays como argumentos (...arrays). Dentro da função, esses arrays são passados para o método concat do array vazio [] usando novamente o operador "spread".

  1. A função concatArrays é definida para aceitar uma quantidade indefinida de arrays como argumentos. Isso é feito usando ...arrays na definição da função.
  2. Dentro da função, [].concat(...arrays) é chamado. O [] é um array vazio, e o método concat é usado para concatenar arrays.
  3. O operador "spread" (...arrays) é usado para "espalhar" todos os arrays recebidos como argumentos dentro do método concat. Isso transforma cada elemento dos arrays passados como argumentos em argumentos individuais para o método concat.
  4. O método concat então junta todos esses arrays em um único array.

Por exemplo, se a função for chamada com os arrays [1, 2], [3, 4] e [5, 6], o operador "spread" transforma isso em concat([1, 2], [3, 4], [5, 6]), resultando em [1, 2, 3, 4, 5, 6].

Espero que essa explicação tenha esclarecido como o operador "spread" funciona nesse contexto e como ele ajuda a concatenar arrays de uma maneira muito eficiente e elegante.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software