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

Questa traduzione è incompleta. Collabora alla traduzione di questo articolo dall’originale in lingua inglese.

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 ritornato

Una nuova istanza di Array.

Descrizione

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.

concat non altera 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:

  • i riferimenti agli oggetti (non gli oggetti stessi): i reference vengono copiati nel nuovo array. Pertanto sia gli elementi degli array originali che quelli dell'array prodotto da concat puntano agli stessi oggetti. Pertanto se uno degli oggetti cui i reference puntano viene cambiato, i cambiamenti possono essere visualizzati tramite i riferimenti contenuti nell'array originale o nella copia.
var a = [1, 2]
var b = {c:1}
var d = a.concat(b)

// d[3] is {c: 1}
b.c=10
// d[3] is now {c: 10}
  • stringhe, numeri e booleani (non oggetti String, Number, e Boolean ): vengono copiati da concat per valore nel nuovo array.

Note: Concatenando i valori di diversi array o valori, si lasciano gli originali inalterati. Inoltre, qualsiasi operazione sui nuovi array (solo nel caso gli elementi non siano dei riferimenti ad oggetti) non avrà effetto alcuno sugli originali e viceversa.

Esempi

Concatenare due array

Il codice seguente concatena due array:

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

var alphaNumeric = alpha.concat(numeric);

console.log(alphaNumeric); // 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
ECMAScript 3rd Edition (ECMA-262) Standard Definizione iniziale, implementato in 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  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Array.prototype.concat' in that specification.
Draft  

Compatibilità con i Browser

Browser Chrome Firefox (Gecko) Internet Explorer Opera Safari
Supporto Base 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Browser Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Supporto Base (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: mikspi, pallapo
 Ultima modifica di: mikspi,