1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 33
    Points : 25
    Points
    25

    Par défaut Boucle For sur un flux BehaviorSubject

    Ma variable threads contient 3 éléments différents. Je veux créer une boucle For qui itère sur tous ses 3 éléments.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    threads: Subject<{[key: string]: Thread }> =  new BehaviorSubject({});
    Voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    searchUser(): Observable<Thread> {
        let element = document.getElementById('chat-window-input');
     
        return this.threads.map((threadDictionary: {[key: string]: Thread}) => {
          for( let key in threadDictionary ) {
            console.log("key", threadDictionary[key]);
            if(threadDictionary[key].participants[0].name.startsWith(str)) {
              return threadDictionary[key];
            }
          }
        });
      }
    Cette fonction fonctionne qu'une seule fois. A son premier appel, elle itère bien sur les 3 éléments. Ensuite, elle n'itère plus que sur le dernier élément.
    J'utilise Angular et TypeScript.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    mai 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : mai 2015
    Messages : 34
    Points : 113
    Points
    113

    Par défaut

    Tu dois faire un truc du style .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    threads: Subject<{[key: string]: Thread }> =  new Subject();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    const checkThreadDico = (threadDictionary,str) => {
      for (let i in threadDictionary) {
        const thread = threadDictionary[i];
        if (thread.participants[0].name.startsWith(str)) {
          return thread;
        }
      }
    };
    C'est la que tu doit faire ton itération , au moment ou tu t'abonne .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    threads.subscribe(resp => {
      const checkThreads = check(resp);
      if (checkThreads) {
        console.log('Ok', resp);
      }
    });

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2017
    Messages : 33
    Points : 25
    Points
    25

    Par défaut

    Merci pour ta réponse J'avais trouvé la solution avant mais ce que j'ai fais correspond à ce que tu viens de proposer.

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

Discussions similaires

  1. [AC-2003] Boucle For sur colonnes
    Par thebigrensky dans le forum VBA Access
    Réponses: 0
    Dernier message: 27/01/2010, 15h52
  2. Boucle FOR sur certaines colonnes
    Par coralie59 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/02/2009, 11h54
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    Réponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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