aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSphinxKnight <SphinxKnight@users.noreply.github.com>2022-01-07 07:17:01 +0100
committerGitHub <noreply@github.com>2022-01-07 07:17:01 +0100
commit1d0168ec7d6557c83425d23ec9a6238c26c9a5b9 (patch)
tree26d693a1f1b6a1f4254353cf7ee7e4d458ce4371
parent95bf5d4c3e7513c56cd1908986d74fd52914566c (diff)
downloadtranslated-content-1d0168ec7d6557c83425d23ec9a6238c26c9a5b9.tar.gz
translated-content-1d0168ec7d6557c83425d23ec9a6238c26c9a5b9.tar.bz2
translated-content-1d0168ec7d6557c83425d23ec9a6238c26c9a5b9.zip
Fix #3205 and update vs en-US counterpart (#3295)
-rw-r--r--files/fr/web/javascript/reference/global_objects/array/concat/index.md94
1 files changed, 44 insertions, 50 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/array/concat/index.md b/files/fr/web/javascript/reference/global_objects/array/concat/index.md
index 3a68c4f55e..597bca30c2 100644
--- a/files/fr/web/javascript/reference/global_objects/array/concat/index.md
+++ b/files/fr/web/javascript/reference/global_objects/array/concat/index.md
@@ -1,127 +1,121 @@
---
title: Array.prototype.concat()
slug: Web/JavaScript/Reference/Global_Objects/Array/concat
-tags:
- - Array
- - JavaScript
- - Méthode
- - Prototype
- - Reference
translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat
original_slug: Web/JavaScript/Reference/Objets_globaux/Array/concat
+browser-compat: javascript.builtins.Array.concat
---
{{JSRef}}
-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.
+La méthode **`concat()`** est utilisée afin de fusionner deux 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.
-{{EmbedInteractiveExample("pages/js/array-concat.html")}}
+{{EmbedInteractiveExample("pages/js/array-concat.html","shorter")}}
## Syntaxe
- let nouveau_tableau = ancien_tableau.concat(valeur1[, valeur2[, ...[, valeurN]]])
+```js
+concat()
+concat(valeur0)
+concat(valeur0, valeur1)
+concat(valeur0, valeur1, ... , valeurN)
+```
### Paramètres
- `valeurN`{{optional_inline}}
- - : Des tableaux et/ou des valeurs à concaténer dans le nouveau tableau. Si tous les arguments `valeurN` valent `undefined`, `concat` renverra une copie superficielle du tableau sur lequel elle est appelée. Voir ci-après pour plus de détails.
+ - : Des tableaux et/ou des valeurs à concaténer dans le nouveau tableau. Si aucun argument `valeurN` n'est passé, `concat` renverra une copie superficielle du tableau sur lequel elle est appelée. Voir ci-après pour plus de détails.
### Valeur de retour
-Une nouvelle instance de {{jsxref("Array")}}.
+Une nouvelle instance de [`Array`](/fr/docs/Web/JavaScript/Reference/Global_Objects/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 :
+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, des é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 «&nbsp;déplie&nbsp;» pas les tableaux imbriqués.
-- 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.
+La méthode `concat` ne modifie pas `this` ni aucun des tableaux passés en paramètres, mais renvoie une copie superficielle 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&nbsp;:
-<!---->
+- Pour les références à des objets (et non les objets eux-mêmes)&nbsp;: `concat` copie ces références dans le nouveau 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 {{jsxref("String", "String")}}, {{jsxref("Boolean")}} et {{jsxref("Number", "Number")}}) : `concat` copie les valeurs des chaînes et des nombres dans le nouveau tableau. (voir [Les types de données en JavaScript](/fr/docs/Web/JavaScript/Structures_de_donn%C3%A9es#Les_types_de_donn%C3%A9es)).
+- Pour les chaînes, les booléens et les nombres « primitifs » (c'est-à-dire pas les objets [`String`](/fr/docs/Web/JavaScript/Reference/Global_Objects/String), [`Boolean`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Boolean) et [`Number`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Number))&nbsp;: `concat` copie les valeurs des chaînes et des nombres dans le nouveau tableau. (voir [Les types de données en JavaScript](/fr/docs/Web/JavaScript/Structures_de_donn%C3%A9es#Les_types_de_donn%C3%A9es)).
-> **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.
+> **Note :** La concaténation n'affectera 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 :
+Le code qui suit concatène deux tableaux&nbsp;:
```js
-let alpha = ["a", "b", "c"];
-let numerique = [1, 2, 3];
+const lettres = ["a", "b", "c"];
+const chiffres = [1, 2, 3];
-alpha.concat(numerique);
+const alphanum = lettres.concat(chiffres);
+console.table(alphanum);
// donne : ["a", "b", "c", 1, 2, 3]
```
### Concaténer trois tableaux
-Le code qui suit concatène trois tableaux :
+Le code qui suit concatène trois tableaux&nbsp;:
```js
-let num1 = [1, 2, 3];
-let num2 = [4, 5, 6];
-let num3 = [7, 8, 9];
+const num1 = [1, 2, 3];
+const num2 = [4, 5, 6];
+const num3 = [7, 8, 9];
-let nums = num1.concat(num2, num3);
+const nums = num1.concat(num2, num3);
-console.log(nums);
+console.table(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 :
+Le code qui suit ajoute trois valeurs à un tableau&nbsp;:
```js
-let alpha = ['a', 'b', 'c'];
+const alpha = ['a', 'b', 'c'];
-let alphanumerique = alpha.concat(1, [2, 3]);
+const alphanumerique = alpha.concat(1, [2, 3]);
-console.log(alphanumerique);
+console.table(alphanumerique);
// ['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 :
+Dans le code qui suit, on concatène deux tableaux qui ont plusieurs dimensions et on illustre la conservation des références&nbsp;:
```js
-let num1 = [[1]];
-let num2 = [2, [3]];
+const num1 = [[1]];
+const num2 = [2, [3]];
-let nums = num1.concat(num2);
+const nums = num1.concat(num2);
-console.log(nums);
+console.table(nums);
// affichera [[1], 2, [3]]
// Ici, on modifie le premier élément de num1
num1[0].push(4);
-console.log(nums);
+console.table(nums);
// affichera [[1, 4], 2, [3]]
```
## Spécifications
-| Spécification | État | Commentaires |
-| ------------------------------------------------------------------------------------------------------------ | ---------------------------- | ----------------------------------------------------- |
-| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.2. |
-| {{SpecName('ES5.1', '#sec-15.4.4.4', 'Array.prototype.concat')}} | {{Spec2('ES5.1')}} | |
-| {{SpecName('ES6', '#sec-array.prototype.concat', 'Array.prototype.concat')}} | {{Spec2('ES6')}} | |
-| {{SpecName('ESDraft', '#sec-array.prototype.concat', 'Array.prototype.concat')}} | {{Spec2('ESDraft')}} | |
+{{Specifications}}
## Compatibilité des navigateurs
-{{Compat("javascript.builtins.Array.concat")}}
+{{Compat}}
## Voir aussi
-- {{jsxref("Array.push", "push")}} / {{jsxref("Array.pop", "pop")}} qui permettent d'ajouter/retirer des éléments à partir de la fin du tableau
-- {{jsxref("Array.unshift", "unshift")}} / {{jsxref("Array.shift", "shift")}} qui permettent d'ajouter/retirer des éléments à partir du début du tableau
-- {{jsxref("Array.splice", "splice")}} qui permet d'ajouter/retirer des éléments à un endroit donné du tableau
-- {{jsxref("String.prototype.concat()")}}
-- {{jsxref("Symbol.isConcatSpreadable")}} (permet de contrôler la façon dont un tableau est ramené à une valeur)
+- [`push()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push) / [`pop()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) qui permettent d'ajouter/retirer des éléments à partir de la fin du tableau
+- [`unshift()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) / [`shift()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) qui permettent d'ajouter/retirer des éléments à partir du début du tableau
+- [`splice()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) qui permet d'ajouter/retirer des éléments à un endroit donné du tableau
+- [`String.prototype.concat()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/String/concat)
+- [`Symbol.isConcatSpreadable`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Symbol/isConcatSpreadable) (permet de contrôler la façon dont un tableau est ramené à une valeur)