[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse [Back]  [Original]

Array : mthode reverse() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Array : mthode reverse()

Baseline Large disponibilit

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 mthode reverse() des instances Array inverse un tableau en place et retourne la rfrence vers ce mme tableau, le premier lment du tableau devenant le dernier, et le dernier lment devenant le premier. En d'autres termes, l'ordre des lments du tableau est invers par rapport l'ordre initial.

Pour inverser les lments d'un tableau sans modifier le tableau d'origine, utilisez toReversed().

Dans cet article

Exemple interactif

const array = ["un", "deux", "trois"];
console.log("tableau :", array);
// Rsultat attendu : "tableau :" Array ["un", "deux", "trois"]

const reversed = array.reverse();
console.log("invers :", reversed);
// Rsultat attendu : "invers :" Array ["trois", "deux", "un"]

// Attention: reverse est destructif -- il modifie le tableau d'origine.
console.log("tableau :", array);
// Rsultat attendu : "tableau :" Array ["trois", "deux", "un"]

Syntaxe

js
reverse()

Paramtres

Aucun.

Valeur de retour

La rfrence vers le tableau d'origine, dsormais invers. Notez que le tableau est invers en place, et qu'aucune copie n'est cre.

Description

La mthode reverse() transpose les lments du tableau appelant, modifie le tableau et retourne sa rfrence.

Elle prserve les cases vides. Si le tableau source est un tableau creux, les nouveaux indices des cases vides sont supprims et restent vides.

La mthode reverse() est gnrique. Elle attend uniquement que la valeur de this possde une proprit length et des proprits indexes par des entiers. Bien que les chanes de caractres soient galement assimilables des tableaux, cette mthode ne doit pas leur tre applique, car les chanes sont immuables.

Exemples

Inverser l'ordre des lments d'un tableau

L'exemple suivant cre un tableau items contenant trois lments, puis inverse ce tableau. L'appel reverse() retourne une rfrence vers le tableau invers items.

js
const items = [1, 2, 3];
console.log(items); // [1, 2, 3]

items.reverse();
console.log(items); // [3, 2, 1]

La mthode reverse() retourne la rfrence vers le mme tableau

La mthode reverse() retourne la rfrence vers le tableau d'origine, donc toute modification du tableau retourn modifie aussi le tableau d'origine.

js
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]); // 5

Si vous souhaitez que reverse() ne modifie pas le tableau d'origine mais retourne un tableau copi superficiellement comme d'autres mthodes de tableau (par exemple, map()), utilisez la mthode toReversed(). Vous pouvez aussi faire une copie superficielle avant d'appeler reverse(), en utilisant la syntaxe de l'oprateur de propagation ou Array.from().

js
const numbers = [3, 2, 4, 1, 5];
// [...numbers] cre une copie superficielle, donc reverse() ne modifie pas l'original
const reverted = [...numbers].reverse();
reverted[0] = 5;
console.log(numbers[0]); // 3

Utiliser reverse() sur des tableaux creux

Les tableaux creux restent creux aprs l'appel reverse(). Les cases vides sont copies leurs nouveaux indices respectifs en tant que cases vides.

js
console.log([1, , 3].reverse()); // [3, empty, 1]
console.log([1, , 3, 4].reverse()); // [4, 3, empty, 1]

Appeler reverse() sur des objets qui ne sont pas des tableaux

La mthode reverse() lit la proprit length de this. Elle parcourt ensuite chaque proprit ayant une cl entire entre 0 et length / 2, et change les deux indices correspondants aux extrmits, en supprimant toute proprit de destination pour laquelle la proprit source n'existait pas.

js
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 3

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.reverse

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page