Concatenare Array in JavaScript

Concetti Chiave
  • In JavaScript, possiamo concatenare array utilizzando il metodo concat(), che crea un nuovo array combinando gli elementi dell'array originale con quelli degli array passati come argomenti.
  • Il metodo concat() non modifica l'array originale, ma restituisce un nuovo array.
  • Possiamo concatenare più array e valori singoli in un'unica operazione, ma gli array annidati non vengono appiattiti.
  • Se vogliamo modificare l'array originale, possiamo utilizzare metodi come push() o splice() invece di concat().

Concatenare Array: concat

Il metodo concat() crea e restituisce un nuovo array che contiene gli elementi dell'array originale su cui concat() è stato invocato, seguito da ciascuno degli argomenti di concat().

Se qualsiasi di questi argomenti è esso stesso un array, allora sono gli elementi dell'array che vengono concatenati, non l'array stesso. Si noti, tuttavia, che concat() non appiattisce ricorsivamente array di array. concat() non modifica l'array su cui è invocato:

// Array di partenza
let a = [1,2,3];

// Concatena due elementi ad a
let b = a.concat(4, 5);
console.log(b); // => [1,2,3,4,5]

// Concatena due array ad a
// gli array vengono appiattiti
let c = a.concat([4,5],[6,7]);
console.log(c); // => [1,2,3,4,5,6,7]

// Concatena un array annidato
// gli array annidati non vengono appiattiti
let d = a.concat([4,[5,6]]);
console.log(d); // => [1,2,3,4,[5,6]]

// In ogni caso l'array originale non è stato modificato
console.log(a); // => [1,2,3]

Si noti che concat() crea una nuova copia dell'array su cui è chiamato.

In molti casi, questa è la cosa giusta da fare, ma è un'operazione costosa. Se ci si trova a scrivere codice come a = a.concat(x), allora si dovrebbe pensare a modificare l'array sul posto con push() o splice() invece di crearne uno nuovo.