--- title: Array.prototype.reverse() slug: Web/JavaScript/Reference/Global_Objects/Array/reverse tags: - Array - JavaScript - Méthode - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse original_slug: Web/JavaScript/Reference/Objets_globaux/Array/reverse ---
{{JSRef}}

La méthode reverse() transpose les éléments d'un tableau : le premier élément devient le dernier et le dernier devient le premier et ainsi de suite.

{{EmbedInteractiveExample("pages/js/array-reverse.html")}}

Syntaxe

arr.reverse()

Valeur de retour

Le tableau inversé.

Description

La méthode reverse() permet d'inverser l'ordre des éléments du tableau. La méthode modifie le tableau courant et renvoie une référence à ce tableau.

Cette méthode est intentionnellement générique et peut être appelée (via {{jsxref("Function.call()")}}) ou appliquée (via {{jsxref("Function.apply()")}}) sur des objets semblables à des tableaux. Les objets qui ne contiennent pas de propriété length qui soit cohérente avec leurs propriétés indexées sur des nombres ne seront pas traités par reverse().

Exemples

Inverser l'ordre des éléments d'un tableau

L'exemple qui suit crée un tableau monArray, qui contient trois éléments, puis inverse celui-ci.

var monArray = ["un", "deux", "trois"];
monArray.reverse();

console.log(monArray) // ["trois", "deux", "un"]

Inverser l'ordre des éléments d'un objet semblable à un tableau

Dans l'exemple suivant, on crée un objet semblable à un tableau a qui contient trois éléments et une propriété length. On appelle ensuite reverse() grâce à call() sur cet objet pour inverser ses éléments :

const a = {0: 1, 1: 2, 2: 3, length: 3};

console.log(a); // {0: 1, 1: 2, 2: 3, length: 3}

Array.prototype.reverse.call(a); // On aurait pu utiliser apply() également

console.log(a); // {0: 3, 1: 2, 2 : 1, length: 3}

Spécifications

Spécification État Commentaires
{{SpecName('ES1')}} {{Spec2('ES1')}} Définition initiale. Implémentée avec JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.4.4.8', 'Array.prototype.reverse')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-array.prototype.reverse', 'Array.prototype.reverse')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-array.prototype.reverse', 'Array.prototype.reverse')}} {{Spec2('ESDraft')}}  

Compatibilité des navigateurs

{{Compat("javascript.builtins.Array.reverse")}}

Voir aussi