--- 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 ---
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.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
arr.reverse()
Le tableau inversé.
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()
.
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"]
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é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')}} |
{{Compat("javascript.builtins.Array.reverse")}}