CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Triage d'une table

JeSuisClarke
JeSuisClarke
Niveau 26
20 juillet 2018 à 02:50:43

Bonjour,

function sortTable(n) {
  var table, rows, switching, i, x, y, shouldSwitch, direction, switchcount = 0;
  table = document.getElementById("storageTable");
  switching = true;
  // On met la direction en ASC.
  direction = "asc";
  // On fait une boucle tant qu'il n y a pas eu de switching
  while (switching) {
    // On commence par dire qu'il n y a pas eu de switching
    switching = false;
    rows = table.getElementsByTagName("tr");
    // On fait une boucle à travers toutes les lignes de la table
    for (i = 1; i < (rows.length - 1); i++) {
      // On commence par dire qu'il ne doit pas avoir eu de switching
      shouldSwitch = false;
      // On prends deux éléments à comparer, la ligne actuelle et la ligne suivante
      x = rows[i].getElementsByTagName("td")[n];
      y = rows[i + 1].getElementsByTagName("td")[n];
      // On regarde si les deux lignes doivent changer de place selon la direction
      if (direction == "asc") {
        if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
          // Si oui, on signale ce changement et on casse la boucle
          shouldSwitch = true;
          break;
        }
      } else if (direction == "desc") {
        if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {
          // Si oui, on signale ce changement et on casse la boucle
          shouldSwitch = true;
          break;
        }
      }
    }
    if (shouldSwitch) {
      // Si un switch a été marqué, on le fait et on dit qu'un switch a été fait
      rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
      switching = true;
      // Chaque fois qu'un switch a été fait, on augmente le compteur de 1
      switchcount ++;
    } else {
      // Si aucun switch a été fait et que la direction est ASC, on met la direction en DESC et on refait la boucle
      if (switchcount == 0 && direction == "asc") {
        direction = "desc";
        switching = true;
      }
    }
  }
}

Je comprends pas row et row +1 il compare pas une fois qu'on est par exemple a la row 6 si la row 4 et pas plus grande que la row 1 ?
Le parentNode c'est pour pouvoir interagir sur la balise table ?

Message édité le 20 juillet 2018 à 02:54:28 par JeSuisClarke
20_cent_2017
20_cent_2017
Niveau 10
20 juillet 2018 à 07:20:08

Trop compliqué...
trop de variable ....
tu parcour ton tableau tu check ta valeur avec la présidente tu switch. Tu le fais tant que le résultat n’est pas bon.
C’edt Du récursif. Passe les bonne var en paramètres ( direction)
Ensuite y’a des fonctions qui existent pour ça !

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware