--- title: Array.prototype.concat() slug: Web/JavaScript/Reference/Global_Objects/Array/concat tags: - Array - aggiungi elementi array - concat translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat ---
{{JSRef}}

Il metodo concat() ritorna un nuovo array costituito dall'array sul quale è stato invocato (joined array) e dagli array e/o valori passati come argomenti.

Sintassi

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

Parametri

valueN
Array e/o valori da concatenare nel nuovo array. Vedere la descrizione sotto per i dettagli.

Valore restituito

Una nuova istanza di {{jsxref("Array")}}.

Descrizione

Il metodo concat crea un nuovo array costituito dagli elementi dell'oggetto su cui è stato invocato, seguiti in ordine da ciascun argomento o dagli elementi di ciascun argomento, se quest'ultimo è esso stesso un array.

Il metodo concat non altera l'oggetto this (l'array originale) o gli elementi passati come parametri, ma ritorna una copia degli stessi che contiene copie degli elementi costituenti gli argomenti. Gli elementi degli array originali sono copiati in quello nuovo secondo le seguenti regole:

var a = [1, 2]
var b = {c:1}
var d = a.concat(b)

// d[2] is {c: 1}
b.c=10
// d[2] is now {c: 10}

Note: Concatenando i valori di diversi array o valori, si lasciano gli originali inalterati. Inoltre, qualsiasi operazione sui nuovi array (eccetto le operazioni su elementi che siano riferimenti a oggetti) non avrà effetto alcuno sugli originali e viceversa.

Esempi

Concatenare due array

Il codice seguente concatena due array:

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

alpha.concat(numeric);
// Risultato: ['a', 'b', 'c', 1, 2, 3]

Concatenare tre array

Il codice seguente concatena tre array:

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

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


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

Concatenare valori ad un array

Il codice seguente concatena dei valori a quelli presenti in un array:

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

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

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

Specifiche

Specifiche Stato Commento
{{SpecName('ES3')}} {{Spec2('ES3')}} Definizione iniziale, implementato in JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.4', 'Array.prototype.concat')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-array.prototype.concat', 'Array.prototype.concat')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-array.prototype.concat', 'Array.prototype.concat')}} {{Spec2('ESDraft')}}  

Compatibilità con i Browser

{{CompatibilityTable}}
Browser Chrome Firefox (Gecko) Internet Explorer Opera Safari
Supporto Base {{CompatChrome("1.0")}} {{CompatGeckoDesktop("1.7")}} {{CompatIE("5.5")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Browser Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Supporto Base {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

Vedere anche