JavaScript Array concat ()

O método concat () do JavaScript Array retorna um novo array mesclando dois ou mais valores / arrays.

A sintaxe do concat()método é:

 arr.concat(value1, value2,… , valueN)

Aqui arrestá uma matriz.

Parâmetros concat ()

O concat()método aceita um número arbitrário de matrizes e / ou valores como argumentos.

Valor de retorno de concat ()

  • Retorna um array recém-criado após mesclar todos os arrays / valores passados ​​no argumento.

O concat()método primeiro cria uma nova matriz com os elementos do objeto no qual o método é chamado. Em seguida, adiciona argumentos ou elementos de argumentos sequencialmente (para matrizes).

Exemplo 1: Usando o método concat ()

 var languages1 = ("JavaScript", "Python", "Java"); var languages2 = ("C", "C++"); // concatenating two arrays var new_arr = languages1.concat(languages2); console.log(new_arr); // ( 'JavaScript', 'Python', 'Java', 'C', 'C++' ) // concatenating a value and array var new_arr1 = languages2.concat("Lua", languages1); console.log(new_arr1); // ( 'C', 'C++', 'Lua', 'JavaScript', 'Python', 'Java' )

Resultado

 ('JavaScript', 'Python', 'Java', 'C', 'C ++') ('C', 'C ++', 'Lua', 'JavaScript', 'Python', 'Java')

Exemplo 2: concatenando matrizes aninhadas

O concat()método retorna a cópia superficial dos elementos concatenados da seguinte maneira:

  • Ele copia referências de objeto para a nova matriz. ( Por exemplo : passando uma matriz aninhada) Portanto, se o objeto referenciado for modificado, as alterações serão visíveis na nova matriz retornada.
  • Ele copia o valor de strings e números para a nova matriz.
 var randomList = (1, 2, 3); var randomNestedList = ( (4, 5), (6, 7), ); var combined = randomList.concat(randomNestedList); console.log(combined); // ( 1, 2, 3, ( 4, 5 ), ( 6, 7 ) ) // changing the value 1 to 0 randomList(0) = 0; console.log(randomList); // ( 0, 2, 3 ) // changes not reflected in concatenated array console.log(combined); // ( 1, 2, 3, ( 4, 5 ), ( 6, 7 ) ) // modifying nested list (adding 6 to first element) randomNestedList(0).push(6); console.log(randomNestedList); // ( ( 4, 5, 6 ), ( 6, 7 ) ) // changes are reflected in concatenated array // since it is a reference to the object console.log(combined); // ( 1, 2, 3, ( 4, 5, 6 ), ( 6, 7 ) )

Resultado

 (1, 2, 3, (4, 5), (6, 7)) (0, 2, 3) (1, 2, 3, (4, 5), (6, 7)) ((1, 2 , 3), (6, 7)) (1, 2, 3, (4, 5, 6), (6, 7))

Aqui, a referência da matriz aninhada é copiada para a matriz concatenada. Portanto, quando modificamos qualquer uma das referências, as alterações são refletidas em todos os lugares.

Leituras recomendadas:

  • JavaScript Array.pop ()
  • JavaScript Array.push ()

Artigos interessantes...