La méthode concat()
est utilisée afin de fusionner un ou plusieurs tableaux en les concaténant. Cette méthode ne modifie pas les tableaux existants, elle renvoie un nouveau tableau qui est le résultat de l'opération.
var arr1 = ["a", "b", "c"]; var arr2 = ["d", "e", "f"]; arr1.concat(arr2); // Le résultat sera un nouveau tableau // ["a", "b", "c", "d", "e", "f"];
Syntaxe
var nouveau_tableau = ancien_tableau.concat(valeur1[, valeur2[, ...[, valeurN]]])
Paramètres
valeurN
- Des tableaux et/ou des valeurs à concaténer dans le nouveau tableau. Voir ci-après pour plus de détails.
Valeur de retour
Une nouvelle instance de Array
.
Description
La méthode concat
permet de créer un nouveau tableau constitué des éléments de l'objet this
sur lequel elle a été appelée, suivis dans l'ordre par, pour chaque paramètre, les éléments de ce paramètre (s'il s'agit d'un tableau) ou le paramètre lui-même (s'il ne s'agit pas d'un tableau).
La méthode concat
ne modifie pas this
ni aucun des tableaux passés en paramètres, mais renvoie une copie qui contient des copies des mêmes éléments combinées que ceux des tableaux originaux. Les éléments des tableaux originaux sont copiés dans le nouveau tableau comme suit :
- Pour les références à des objets (et non les objets eux-mêmes) :
concat
copie ces références dans le nouveaux tableau. Le tableau original et le nouveau tableau feront référence au même objet. C'est-à-dire que si un objet référencé est modifié, ces changements seront visibles tant dans le nouveau que dans les tableaux originaux.
- Pour les chaînes, les booléens et les nombres « primitifs » (c'est-à-dire pas les objets
String
,Boolean
etNumber
) :concat
copie les valeurs des chaînes et des nombres dans le nouveau tableau.
La concaténation n'impactera pas les tableaux orignaux. Par la suite, toute opération sur le nouveau tableau n'aura aucun effet sur les tableaux d'origine, et vice versa.
Exemples
Concaténer deux tableaux
Le code qui suit concatène deux tableaux :
var alpha = ["a", "b", "c"]; var numérique = [1, 2, 3]; alpha.concat(numérique); // donne : ["a", "b", "c", 1, 2, 3]
Concaténer trois tableaux
Le code qui suit concatène trois tableaux :
var num1 = [1, 2, 3]; var num2 = [4, 5, 6]; var num3 = [7, 8, 9]; var nums = num1.concat(num2, num3); console.log(nums); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Concaténer des valeurs avec un tableau
Le code qui suit ajoute trois valeurs à un tableau :
var alpha = ['a', 'b', 'c']; var alphanumérique = alpha.concat(1, [2, 3]); console.log(alphanumérique); // ['a', 'b', 'c', 1, 2, 3]
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Définition initiale. Implémentée avec JavaScript 1.2. |
ECMAScript 5.1 (ECMA-262) La définition de 'Array.prototype.concat' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Array.prototype.concat' dans cette spécification. |
Standard | |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Array.prototype.concat' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 1.0 | 1.0 (1.7 ou moins) | 5.5 | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Voir aussi
push
/pop
qui permettent d'ajouter/retirer des éléments à partir de la fin du tableauunshift
/shift
qui permettent d'ajouter/retirer des éléments à partir du début du tableausplice
qui permet d'ajouter/retirer des éléments à un endroit donné du tableauString.prototype.concat()
Symbol.isConcatSpreadable
(permet de contrôler la façon dont un tableau est ramené à une valeur)