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

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:

  • Riferimenti agli oggetti (non gli oggetti stessi): concat copia nel nuovo array i riferimenti agli oggetti. Sia gli elementi degli array originali che quelli dell'array prodotto da concat puntano agli stessi oggetti. Pertanto, se uno degli oggetti cui i riferimenti puntano viene cambiato, i cambiamenti possono essere visualizzati tramite i riferimenti contenuti nell'array originale o nella copia. Ciò include gli elementi degli argomenti di tipo array che fossero array a loro volta.
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}
  • Tipi di dati come stringhe, numeri e booleani (non oggetti String, Number, e Boolean ): concat li copia 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 (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);
// risultatato ['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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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)

Vedere anche

Tag del documento e collaboratori

Hanno collaborato alla realizzazione di questa pagina: fzancan, the-reversengineer, mikspi, pallapo
Ultima modifica di: fzancan,