IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tableau, changer l'ordre des cellules


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut Tableau, changer l'ordre des cellules
    $lors d'une précédente discussion

    https://codepen.io/paolo3/pen/KJwdez
    Bonjour
    Fais cela ,mais ,j'aimerai que le bouton tri donnée ...fasse
    sortir ligne de 7 chiffre ..qui ne suive pas , est sur la ligne,qu'il aie 4 pair est 3 impaire ou le contraire..
    donc si je sélectionne 35 chiffre
    j'aurai 5 ligne de 7 chiffre ,bien sur la dernière si pas possible respecter ,les chiffre pair ou impair pas ..grave..mais les chiffre qui se suive oui ,je pense?
    bien sur il prendra aléatoirement les chiffre sélectionner...
    voila

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    j'ai absolument rien compris

    un problème bien exposé est un problème à moitié résolue
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,


    De ce que je crois comprendre, il suffit de :
    • récupérer les nombres dans le tableau
    • trier nombres pairs / impairs
    • créer un array des nombres pairs
    • créer un array des nombres impairs
    • "mélanger" chaque array
    • réafficher les nombres, en alternant pair / impair

    Comment déterminer si un chiffre est pair ou impair ?
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function pair(chiffre){
        chiffre = parseInt(chiffre);
        return (chiffre & 1)=='0';
    }
    ou :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function is_pair(chiffre){
        return ( parseInt(chiffre)%2)==0 );
    }

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut plus de précision
    donc au fait le code fais déjà un mélange...
    mais j'aimerai que après le 7 ieme chiffre
    fasse une autre ligne ..etc
    est sur la ligne de 7 chiffre ...qu'il y a 3 pair est 4 impair
    est que aucun chiffre se suive
    a part la dernière ligne, qui elle n'aura pas 3 pair ou 4 impair ..ou chiffre qui se suive comme pas de choix

  5. #5
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,
    je ne sais pas si le français est ta langue "courante" *... ou si tu passes sous un tunnel... mais fais des phrases complètes !
    Ça aiderait à la compréhension !


    Ou, au moins, MONTRE un EXEMPLE concret de résultat à obtenir.



    * (selon ta localisation en Suisse...)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut Aide plus
    Alors je choisi 7 chiffre ou 14 ou 21 ou 28 etc
    Pour sortir ligne de 7 chiffre
    exemple
    1 50 34 67 89 32 90 avec 7 chiffre avec 4 pair 3 impair
    4 77 45 12 76 57 89 avec 14 chiffre avec 3 pair 4 impair
    Etc est aucun chiffre qui se suive sur la même ligne
    Voila

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut modifier
    alors j'ai modifier la ligne 96 ajouter si plus de 7, va a la ligne mais ne fais pas exactement ce que je veux comme efface tous...
    j’aimerai ,qu'il garde la ligne est ajoute la deuxieme ligne ..aussi si en peu mettre a coter au lieu au dessous du tableau...

    merci
    https://codepen.io/paolo3/pen/KJwdez

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2021
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Il est très difficile de te comprendre.
    Tu n'es pas arriver à trouver un problème similaire au tien sur Internet ou via une vidéo sur YouTube ?

  9. #9
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    de ce que j'ai compris, il s'agit de trier les résultats :
    • 7 par ligne
    • ordre aléatoire
    • alternance pair/impair (si possible)


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
        <button type="button" name="btn-trier">Tri aléatoire</button>
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    // ----------
    // 5- Trier
    let btnTrier = document.querySelector('#form90cases button[name="btn-trier"]');
    btnTrier.addEventListener('click', function(){ 
      show_results_trier();
    });
    // ----------
    function show_results_trier()
    {
      let show_results = document.getElementById('show-results');
      let nbre_results = document.getElementById('nbre-results');
      let results = [];
      let ii = 0;
      // --------
      // pair ou impair ?
      for( let box of allBoxes ) 
      {
        if( box.checked )
        {
          results[ii] = Number(box.value);
          ii++;
        }
      }
      // --------
      // Affichage des résultats
      nbre_results.textContent = ii;
      // --------
      show_results.innerHTML = return_show_reorder_results_pair_impair_x_par_ligne( results );
    }
    // ----------
    // pair ou impair ?
    function is_pair( valeur )
    {
      return (Number(valeur) & 1)=='0';
    }
    // ----------
    // mélange aléatoire
    function shuffle(array) {
      return array.sort(() => Math.random() - 0.5);
    }
    // ----------
    // - 7 PAR LIGNE
    // - Alternance pair / impair
    function return_show_reorder_results_pair_impair_x_par_ligne( results )
    {
      let results_arr = [];
      let return_show = '';
      // --------
      let results_pair = [];
      let results_impair = [];
      // --------
      let ii = 0;
      let ix = 0;
      let iy = 0;
      // --------
      // pair ou impair ?
      for( ii=0; ii<results.length; ii++ ) 
      {
        let val = Number(results[ii]);
        if( is_pair( val ) )
        {
          results_pair[ix] = val;
          ix++;
        } else {
          results_impair[iy] = val;
          iy++;
        }
      }
      // --------
      // mélange aléatoire
      results_pair  = shuffle( results_pair );
      results_impair  = shuffle( results_impair );
      // --------
      let min_ix_iy = Math.min(ix,iy);
      let max_ix_iy = Math.max(ix,iy);
      // --------
      let ix_iy = 0;
      let jj = 0;
      for( ix_iy = 0; ix_iy<min_ix_iy; ix_iy ) 
      {
        results_arr[jj] = results_pair[ix_iy];
        jj++;
        results_arr[jj] = results_impair[ix_iy];
        jj++;
        ix_iy++;
      }
      let iz = 0;
      for( iz=ix_iy; iz<max_ix_iy; iz++ ) 
      {
        if(ix>iy)
        {
          results_arr[jj] = results_pair[iz];
          jj++;
        } else {
          results_arr[jj] = results_impair[iz];
          jj++;
        }
      }
      // --------
      // affichage
      let nbre_par_ligne = 7;
      for( let ij=0; ij<results_arr.length; ij++ ) 
      {
        if( ij != 0 && ij % nbre_par_ligne == 0 )
        {
          results_arr[ij] = '<br/>'+results_arr[ij];
        }
      }
      return results_arr.join(',');
    }
    // ----------

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut resolu
    bonjour
    oui c'est ca....
    juste encore pas trouver quel ligne ,quand en presse tri aléatoire..pour qu'il marque en bold..
    est je sais pas ,comment modifier ,pour que sur la même ligne il n'y a pas de chiffre qui se suive....
    mais sinon ,c’est ce que je voulais...
    merci

  11. #11
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    bonjour
    Citation Envoyé par giovanni Voir le message
    ...pas trouver quel ligne ,quand en presse tri aléatoire..pour qu'il marque en bold...
    DANS function return_show_reorder_results_pair_impair_x_par_ligne( results ) :
    à remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      return results_arr.join(',');
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      return '<b>'+results_arr.join('</b>,<b>')+'</b>';
    Citation Envoyé par giovanni Voir le message
    ...pour que sur la même ligne il n'y a pas de chiffre qui se suive...
    J'ai fait en sorte de MÉLANGER aléatoirement les nombres (des cases cochées).
    Il est donc toujours possible que, ponctuellement, certains se suivent.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Points : 39
    Points
    39
    Par défaut ok résolu
    merci
    ca ira comme ca ..,je marque résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer l'ordre des clés d'un tableau
    Par krislec dans le forum Langage
    Réponses: 6
    Dernier message: 12/04/2012, 18h55
  2. Changer l'ordre des Items de Menu.
    Par Ivynox dans le forum C#
    Réponses: 3
    Dernier message: 29/11/2007, 15h49
  3. [Thunderbird] changer l'ordre des comptes
    Par Eusebius dans le forum Thunderbird
    Réponses: 2
    Dernier message: 26/07/2006, 09h08
  4. Rajout colonne - changer l'ordre des colonnes ?
    Par Coptere dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 13/09/2005, 10h56
  5. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo