1
resposta

[Dúvida] Exercício 01

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]

Alguém poderia me dizer se o que eu pensei a respeito do código está correto?

Meu entendimento:

  • O método 'concat( )' concatena os arrays passados como argumento à um array vazio [ ].

  • E o spread '...arrays' espalha cada elemento do arrays passados como argumento dentro do array vazio.

Obeservação: antes de ver a resolução eu havia feito conforme o código abaixo, mas percebi que os arrays não haviam sido juntados em um único array:

const array01 = [1, 2, 3];
const array02 = [4, 5, 6];
const array03 = [7, 8, 9];


function concatenaArrays ( ...arrays ) {
  console.log(...arrays); 
}

const novoArray = concatenaArrays(array01, array02, array03);
1 resposta

Oi, Rosemberg! Como vai?

Seu entendimento está correto sim!

O uso do operador ... tanto na definição da função (...arrays) quanto dentro de concat(...arrays) permite espalhar os elementos dos arrays passados como argumento, juntando tudo em um único array. Muito bom observar a diferença entre espalhar os arrays e os elementos deles!

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