93 votes

Comment puis-je inverser un tableau en JavaScript sans utiliser de bibliothèques ?

J'enregistre certaines données dans l'ordre en utilisant arrays, et je veux ajouter une fonction que l'utilisateur peut inverser la liste. Je ne vois pas de méthode possible, donc si quelqu'un sait comment, aidez-moi.

172voto

SiGanteng Points 23915

Javascript a une méthode reverse() que vous pouvez appeler dans un tableau

var a = [3,5,7,8];
a.reverse(); // 8 7 5 3

Je ne sais pas si c'est ce que vous voulez dire par « bibliothèques que vous ne pouvez pas utiliser », je suppose que cela a quelque chose à voir avec la pratique. Si c'est le cas, vous pouvez implémenter votre propre version de .reverse()

function reverseArr(input) {
    var ret = new Array;
    for(var i = input.length-1; i >= 0; i--) {
        ret.push(input[i]);
    }
    return ret;
}

var a = [3,5,7,8]
var b = reverseArr(a);

Notez que la méthode .reverse() intégrée fonctionne sur le tableau d'origine, vous n'avez donc pas besoin de réaffecter a.

29voto

Jake Boyles Points 281

Hérite d'une façon fonctionnelle de le faire.

const array = [1,2,3,4,5,6,"taco"];

function reverse(array){
  return array.map((item,idx) => array[array.length-1-idx])
}

23voto

Torkel Velure Points 638

20 octets

let reverse=a=>[...a].map(a.pop,a)

10voto

Elia Grady Points 159

La méthode inverse la plus courte que j'ai vue est celle-ci :

let reverse = a=>a.sort(a=>1)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X