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 et if et ou :)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Par défaut Tableau et if et ou :)
    Bonjour tout le monde,

    J'ai un tableau tab du genre [var1,var2,var3,var4].

    Je cherche à vérifier ses valeurs et assigner une action.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (tab==[val1,val2,val3,val4] || tab==[val1,val2,val3,val5]){fait moi un truc stp}

    Mais puis je avoir un moyen d'être plus efficace genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (tab==[val1,val2,val3,val4 || val5]){ fait moi un truc stp}
    ...Qui ne marche pas .
    (je précise que les valeurs st du texte)

    Bref quel serait le meilleur moyen de s'y prendre pour avoir un truc de ce genre là ?

    Merci !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    il faut que tu te poses la question différemment et que tu parcours les différents éléments de ton tableau pour vérifier que chacun appartient au « filtre ».

    Les tableaux, Array, possèdent de multiple méthodes : Array sur MDN.

    Le javascript est sensible à la casse donc If est différent de if.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Par défaut
    Salut et merci pr la réponse avant tout !

    oui oui, je sais encore que les if sont sensible au majuscules ;-)...
    et oui oui, je connais (de loin mais pas trop qd même) les méthodes assignées aux tableaux...


    Mais là, je cherchais un moyen d'être efficient dans l'écriture des conditions posées.

    J'ai bien pris un obj{var1=val,var2=val, etc} en faisant des tcheck sur les valeurs mais au final cela revient un peu au même...
    Ca doit pas être possible, j'en conclus dc que je vais faire à la barbare .

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Tu peux te faire ta propre fonction pour cela, je t'en livre une qui fonctionne pas trop mal dés l'instant où l'on maitrise ce que l'on passe, pas vraiment de test en entrée.
    Code : 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
    /**
    * Fonction de test si un Array est contenu dans un autre
    * @param   {Array}   tab0 - Tableau à tester
    * @param   {Array}   tab1 - Tableau de référence
    * @returns {Boolean} false si un élément est différent true sinon
    */
    function arrayInArray(tab0, tab1) {
        var r;
        var str = ',' +tab1 + ',';
        var i;
        var nb = tab0.length;
        for ( i = 0; i < nb; i += 1) {
            r = new RegExp(',' +tab0[i] + ',');
            if (!r.test( str)) {
                // console.log(r, i); /* si l'on veut savoir */
                return false
            }
        }
        return true
    }
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var t  = [ 'un', 'trois', '2', 'cinq'];
    var t1 = [ 'un', 2, 'trois', 'quatre'];
    console.log(arrayInArray(t, t1)); // false à cause de 'cinq'
    pas mal d'améliorations pourraient être apportées mais ceci est une autre histoire !

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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