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.

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 concaténation ne « déplie » pas les tableaux imbriqués.

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.

Note : La concaténation n'impactera pas les tableaux originaux. 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]

Concaténer des tableaux imbriqués

Dans le code qui suit, on concatène deux tableaux qui ont plusieurs dimensions et on illustre la conservation des références :

var num1 = [[1]];
var num2 = [2, [3]];

var nums = num1.concat(num2);

console.log(nums);
// affichera [[1], 2, [3]]

// Ici, on modifie le premier élément
// de num1
num1[0].push(4);

console.log(nums);
// affichera [[1, 4], 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 Latest Draft (ECMA-262)
La définition de 'Array.prototype.concat' dans cette spécification.
Projet  

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet 1Edge Support complet OuiFirefox Support complet 1IE Support complet 5.5Opera Support complet OuiSafari Support complet OuiWebView Android Support complet OuiChrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet OuiSafari iOS Support complet OuiSamsung Internet Android Support complet Ouinodejs Support complet Oui

Légende

Support complet  
Support complet

Voir aussi

  • push / pop qui permettent d'ajouter/retirer des éléments à partir de la fin du tableau
  • unshift / shift qui permettent d'ajouter/retirer des éléments à partir du début du tableau
  • splice qui permet d'ajouter/retirer des éléments à un endroit donné du tableau
  • String.prototype.concat()
  • Symbol.isConcatSpreadable (permet de contrôler la façon dont un tableau est ramené à une valeur)

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, Koroeskohr, edspeedy, teoli, Jeremie, BenoitL
Dernière mise à jour par : SphinxKnight,