11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Je rencontre un problème: Je dispose d'un tableau avec des données dedans. J'aimerais inverse ce tableau pour que le dernier élément qui se trouve dedans soit finalement le premier et le premier soit le dernier. J'ai vu pour cela qu'il existait la méthode .reverse() qui s'applique sur les tableaux et qui normalement devait répondre à mon problème, or cette méthode ne marche pas sur mon tableau car je ne cherche pas à inverser l'intérieur mais juste l'"ordre" des lignes...(explications dessous)

Je vous met ci-dessous le code de mon tableau, si vous avez une solution pour m'aider à inverser les valeurs qui se trouvent dedans cela m'aiderait bcp Smiley smile

var tableau_page = [];
  var i = 0;
  var id_page, id_magazine, page, id_page_actuelle;
  $('.content_list_select_page_magazine').each(function(){  //récupère l'id et le numéro des pages dans un tableau
    id_magazine = $(this).data('idmagazine');
      id_page = $(this).data('idpage');
      page = $(this).data('page');
    tableau_page['tableau_'+i]= {"id_magazine" : $(this).data('idmagazine'),"id_page" : $(this).data('idpage'), "page" : $(this).data('page')};
    //tableau_page.prototype.reverse();
    i++;
  });
  var rev_tableau_page = tableau_page.reverse();
  console.log(rev_tableau_page);


upload/1596120914-80636-capture2.png

En gros j'aimerais que ma ligne tableau_18 devienne ma ligne tableau_1 , tableau_17 => tableau_2 etc etc,

Si vous avez une idée de comment je peux faire ça...

Merci d'avance Smiley smile
Peux-tu montrer un exemple avec reverse ? Parce que je ne vois pas pourquoi reverse ne convient pas.
Bonjour,

Reverse m'inversait les éléments dans mon tableau alors que moi je voulais non pas inverser les éléments mais les index...

Mais c'est bon, j'ai résolu mon problème, merci de ta réponse, je passe le sujet en résolu Smiley smile

Bonne journée
Modérateur
Salut,

Est-ce que tu peux poster la réponse ici s'il te plait ? Ça pourra toujours servir a ceux qui cherche la même chose que toi et qui voient le sujet marqué "Résolu".

Merci beaucoup Smiley smile
La réponse:

var tableau_page_copy = [];
 
// y et l'iterateur des valeur
let y = 0;
 
// parcour le tableau de la fin vers le début
for( i = tableau_page.length - 1; i >= 0; i-- ) {
 
    // i et l'itérateur des index
    // on à besoin de 2 itérateur
    // pour ne pas inversé les valeurs mais seulement les index
    tableau_page_copy['tableau_'+i] = tableau_page['tableau_'+y];
    y++;
}
 
tableau_page = tableau_page_copy;


Ces lignes de code servent à inverser les index d'un tableau (tableau Smiley dernierindex = tableau_copy Smiley premierindex
Modifié par leUj (31 Jul 2020 - 14:16)
Meilleure solution