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

Angular Discussion :

Tri de tableau


Sujet :

Angular

  1. #1
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut Tri de tableau
    Bonjour ,
    Je débute avec Angular.
    J’ai un site web qui consomme une api en asp.net core.

    J'ai un RepositoryService qui consulte cette api. Cela fonctionne sans problème.
    J'obtiens bien des résultats via la fonction ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      getData = () => {
        let apiNavigation: string = environment.apiAddress + 'Navigation';
        this.repository.getData(apiNavigation)
            .subscribe(result => this.navigations = result as INavigation[]);
        this.navigations.sort((a,b) => b.sequence - a.sequence);
        console.log(this.navigations);
      }
    A noter que navigation est défini plus haut comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      navigations: INavigation[] = [];
    Ce tableau navigation contient bien les données dont j'ai besoin.

    J'essaie donc de trier les résultats obtenus de façon ascendante sur le champ sequence comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.navigations.sort((a,b) => b.sequence - a.sequence);
    D'après les recherches que j'ai fait sur internet cela devrait fonctionner mais ce n'est pas le cas.

    Quelle est l'erreur ou n'est-ce pas la bonne façon de faire?

    Merci pour votre aide.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    ça donne quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     getData = () => {
        let apiNavigation: string = environment.apiAddress + 'Navigation';
        this.repository.getData(apiNavigation)
            .subscribe(result => this.navigations = result as INavigation[]);
     
        console.log('before', JSON.stringify(this.navigations));
        this.navigations.sort((a,b) => b.sequence - a.sequence);
        console.log('after', this.navigations);
      }
    si tu peux faire un copier coller du resultat en texte

  3. #3
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut
    Merci pour ton aide.

    Les affichages à la console sont vide.
    Nom : before_after.JPG
Affichages : 1327
Taille : 21,9 Ko
    Pourtant, j'ai bien les données dont j'ai besoin.

  4. #4
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut
    Je viens de trouver la solution. Le tri doit se faire dans le subscribe.
    Ce qui donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    getData = () => {
        let apiNavigation: string = environment.apiAddress + 'Navigation';
        this.repository.getData(apiNavigation)
            .subscribe(response => {
              this.navigations = response as INavigation[];
              this.navigations.sort((a,b) => a.sequence - b.sequence)
            });
          }    
        }
    En espérant que cela puisse en aider d'autres.

    Merci pour ton aide Krakatoa.

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    ah oui lol
    oups, je n'ai pas fais attention !

    bien vu !

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

Discussions similaires

  1. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27
  2. Problème dans un tri de tableau
    Par pmboutteau dans le forum ASP
    Réponses: 5
    Dernier message: 29/11/2005, 13h12
  3. [Tableaux] tri de tableau
    Par rdams dans le forum Langage
    Réponses: 19
    Dernier message: 08/11/2005, 13h46
  4. [PERL] problème tri de tableau
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 31/08/2005, 15h42
  5. [langage] tri dans tableau de hachage
    Par mimilou dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2004, 16h10

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