MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

El método concat() se usa para unir dos o más arreglos. Este método no cambia los arreglos existentes, sino que devuelve un nuevo arreglos.

 

Sintaxis

var nuevo_arreglo = viejo_arreglo.concat(valor1[, valor2[, ...[, valorN]]])

Parámetros

valorN
Arreglo/s y/o valor/es a concatenar en el nuevo arreglo. Ver la descripción posterior para más detalles.

Retorno

Una nueva instancia de Array.

Descripción

El método concat crea un nuevo arreglo que consta de los elementos del objeto que lo llama, seguido, en orden de ingreso, por los elementos de cada parámetro (en caso de que el parámetro sea un arreglo), o el parámetro mismo (en caso de que no sea un arreglo). No se aplica de forma recursiva a parámetros con arreglos anidados.

El método concat no altera el arreglo original, ni ninguno de los que fueron ingresados como parámetros, sino que devuelve una copia superficial que contiene copias de los mismos elementos de los arreglos originales combinados. Los elementos de los arreglos originales son copiados en el nuevo arreglo de la siguiente manera:

  • Referencias a Objetos (No el objeto mismo): concat copia la referencia a los objetos en el nuevo arreglo. Es decir, si un objeto referenciado es modificado, los cambios serán visibles tanto en el arreglo nuevo como en el antiguo.
  • Strings o Números (not String and Number objects): concat copia los valores de los strings y numeros en el nuevo arreglo.

Nota: Al concatenar arreglos o valores no se modificarán los originales. Aún más, las operaciones en el nuevo arreglo no tendrán efecto en el arreglo original, y vice versa.

Ejemplos

Concatenando dos arreglos

En el siguiente código se concatenan dos arreglos:

var alpha = ['a', 'b', 'c'],
    numeric = [1, 2, 3];

var alphaNumeric = alpha.concat(numeric);

console.log(alphaNumeric); 
// Resultado: ['a', 'b', 'c', 1, 2, 3]

Concatenando tres arreglos

En el siguiente código se concatenan tres arreglos:

var num1 = [1, 2, 3],
    num2 = [4, 5, 6],
    num3 = [7, 8, 9];

var nums = num1.concat(num2, num3);

console.log(nums); // Result: [1, 2, 3, 4, 5, 6, 7, 8, 9]

Concatenando valores a un arreglo

En el siguiente código se concatenan tres valores a un arreglo:

var alpha = ['a', 'b', 'c'];

var alphaNumeric = alpha.concat(1, [2, 3]);

console.log(alphaNumeric); 
// Result: ['a', 'b', 'c', 1, 2, 3]

Especificaciones

Especificación Estado Comentario
ECMAScript 3rd Edition (ECMA-262) Standard Definición inicial. Implementado en JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Standard  

Copatibilidad entre Navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte Básico 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Característica Android Chrome para Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte Básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Ver También

  • push / pop — añadir/remover elementos desde el fin del arreglo
  • unshift / shift — añadir/remover elementos desde el comienzo del arreglo
  • splice — añadir/remover elementos desde una posición específica del arreglo
  • String.prototype.concat()

Etiquetas y colaboradores del documento

 Colaboradores en esta página: KurtPoehler, dgrcode, gonzalog
 Última actualización por: KurtPoehler,