JavaScript Tableaux de concaténation


Exemple

Deux tableaux

var array1 = [1, 2];
var array2 = [3, 4, 5];
3
var array3 = array1.concat(array2);  // returns a new array
6
var array3 = [...array1, ...array2]

Résultats dans un nouveau Array :

[1, 2, 3, 4, 5]

Plusieurs tableaux

var array1 = ["a", "b"],
    array2 = ["c", "d"],
    array3 = ["e", "f"],
    array4 = ["g", "h"];
3

Fournir plus d'arguments Array à array.concat()

var arrConc = array1.concat(array2, array3, array4);
6

Fournir plus d'arguments à []

var arrConc = [...array1, ...array2, ...array3, ...array4]

Résultats dans un nouveau Array :

["a", "b", "c", "d", "e", "f", "g", "h"]

Sans copier le premier tableau

var longArray = [1, 2, 3, 4, 5, 6, 7, 8],
    shortArray = [9, 10];
3

Fournit les éléments de shortArray tant que paramètres à pousser en utilisant Function.prototype.apply

longArray.push.apply(longArray, shortArray);
6

Utiliser l'opérateur de propagation pour transmettre les éléments de shortArray tant qu'arguments séparés à push

longArray.push(...shortArray)

La valeur de longArray est maintenant:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Notez que si le second tableau est trop long (> 100 000 entrées), vous risquez d’obtenir une erreur de dépassement de capacité de la pile (en raison du mode d’ apply ). Pour être sûr, vous pouvez itérer à la place:

shortArray.forEach(function (elem) {
    longArray.push(elem);
});

Valeurs matricielles et non matricielles

var array = ["a", "b"];
3
var arrConc = array.concat("c", "d");
6
var arrConc = [...array, "c", "d"]

Résultats dans un nouveau Array :

["a", "b", "c", "d"]

Vous pouvez également mélanger des tableaux avec des non-tableaux

var arr1 = ["a","b"];
var arr2 = ["e", "f"];

var arrConc = arr1.concat("c", "d", arr2);

Résultats dans un nouveau Array :

["a", "b", "c", "d", "e", "f"]