Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Array : méthode reverse()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthodereverse() des instancesArray inverse un tableauen place et retourne la référence vers ce même tableau, le premier élément du tableau devenant le dernier, et le dernier élément devenant le premier. En d'autres termes, l'ordre des éléments du tableau est inversé par rapport à l'ordre initial.
Pour inverser les éléments d'un tableau sans modifier le tableau d'origine, utiliseztoReversed().
Dans cet article
Exemple interactif
const array = ["un", "deux", "trois"];console.log("tableau :", array);// Résultat attendu : "tableau :" Array ["un", "deux", "trois"]const reversed = array.reverse();console.log("inversé :", reversed);// Résultat attendu : "inversé :" Array ["trois", "deux", "un"]// Attention: reverse est destructif -- il modifie le tableau d'origine.console.log("tableau :", array);// Résultat attendu : "tableau :" Array ["trois", "deux", "un"]Syntaxe
reverse()Paramètres
Aucun.
Valeur de retour
La référence vers le tableau d'origine, désormais inversé. Notez que le tableau est inverséen place, et qu'aucune copie n'est créée.
Description
La méthodereverse() transpose les éléments du tableau appelant, modifie le tableau et retourne sa référence.
Elle préserve les cases vides. Si le tableau source est untableau creux, les nouveaux indices des cases vides sontsupprimés et restent vides.
La méthodereverse() estgénérique. Elle attend uniquement que la valeur dethis possède une propriétélength et des propriétés indexées par des entiers. Bien que les chaînes de caractères soient également assimilables à des tableaux, cette méthode ne doit pas leur être appliquée, car les chaînes sont immuables.
Exemples
>Inverser l'ordre des éléments d'un tableau
L'exemple suivant crée un tableauitems contenant trois éléments, puis inverse ce tableau. L'appel àreverse() retourne une référence vers le tableau inverséitems.
const items = [1, 2, 3];console.log(items); // [1, 2, 3]items.reverse();console.log(items); // [3, 2, 1]La méthodereverse() retourne la référence vers le même tableau
La méthodereverse() retourne la référence vers le tableau d'origine, donc toute modification du tableau retourné modifie aussi le tableau d'origine.
const numbers = [3, 2, 4, 1, 5];const reversed = numbers.reverse();// numbers et reversed sont tous deux dans l'ordre inversé [5, 1, 4, 2, 3]reversed[0] = 5;console.log(numbers[0]); // 5Si vous souhaitez quereverse() ne modifie pas le tableau d'origine mais retourne un tableaucopié superficiellement comme d'autres méthodes de tableau (par exemple,map()), utilisez la méthodetoReversed(). Vous pouvez aussi faire une copie superficielle avant d'appelerreverse(), en utilisant lasyntaxe de l'opérateur de propagation ouArray.from().
const numbers = [3, 2, 4, 1, 5];// [...numbers] crée une copie superficielle, donc reverse() ne modifie pas l'originalconst reverted = [...numbers].reverse();reverted[0] = 5;console.log(numbers[0]); // 3Utiliserreverse() sur des tableaux creux
Les tableaux creux restent creux après l'appel àreverse(). Les cases vides sont copiées à leurs nouveaux indices respectifs en tant que cases vides.
console.log([1, , 3].reverse()); // [3, empty, 1]console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]Appelerreverse() sur des objets qui ne sont pas des tableaux
La méthodereverse() lit la propriétélength dethis. Elle parcourt ensuite chaque propriété ayant une clé entière entre0 etlength / 2, et échange les deux indices correspondants aux extrémités, ensupprimant toute propriété de destination pour laquelle la propriété source n'existait pas.
const objetSimilaireTableau = { length: 3, unrelated: "foo", 2: 4, 3: 33, // ignoré par reverse() car length vaut 3};console.log(Array.prototype.reverse.call(objetSimilaireTableau));// { 0: 4, 3: 33, length: 3, unrelated: 'foo' }// L'indice 2 est supprimé car il n'y avait pas d'indice 0 à l'origine// L'indice 3 est inchangé car length vaut 3Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.reverse> |
Compatibilité des navigateurs
Voir aussi
- Guide des collections indexées
- L'objet global
Array - La méthode
Array.prototype.join() - La méthode
Array.prototype.sort() - La méthode
Array.prototype.toReversed() - La méthode
TypedArray.prototype.reverse() - Prothèse d'émulation de
Array.prototype.reversedanscore-js(angl.) - Prothèse d'émulation es-shims de
Array.prototype.reverse(angl.)