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 :

Détection d'une valeur d'un tableau avec IndexOf


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Par défaut Détection d'une valeur d'un tableau avec IndexOf
    Bonjour, je suis débutant en Javascript et suis actuellement en train de travailler sur un UNO coder en HTML/Javscript (initialement mon projet de BAC que je ne dois plus rendre et que j'ai décider de continuer ).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            bouton.remove()
            textsurletapis = idcarte 
            tapisrouge.innerHTML = textsurletapis
            tableautextsurletapis = textsurletapis.split("-")
            tapis.push(idcarte)      
            console.log(joueurselectionner)
            console.log(idcarte)
            console.log(joueurselectionner.indexOf(idcarte))       
            joueurselectionner.splice(joueurselectionner.indexOf(idcarte), 1)
    Dans ce programme j'utilise un système de tableau pour déplacer les cartes lors d'une partie (les tableau représentant les mains des joueurs, la pioche et le tapis). J’ai décider pour l'instant de représenter les cartes par des boutons .Si une cartes est jouable appuyer sur le boutons à pour conséquence de faire disparaitre la cartes du tableau représentant la main du joueur et de l'ajouter au tableau du tapis. Pour pouvoir retirer la carte du tableau du joueur je dois utiliser la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    joueurselectionner.splice(joueurselectionner.indexOf(idcarte), 1)
    la variable "joueurselectionner" est le tableau contenant les cartes du joueur et "idcarte" est le nom de la carte .
    Le problème étant que joueurselctionner.indexOf(idcarte) renvoie -1 ce qui signifie normalement que la valeur n'est pas présente dans le tableau .
    J'ai pourtant vérifier avec des console.log et cette valeur est a chaque fois présente dans le tableau .
    Je n'arrive donc pas a trouver la nature du problème alors que j'ai deja utilisée IndexOf dans plusieurs situations similaires.
    IL est possible que je n'ai pas comprit une certains spécificité de indexof mais je n'arrive vraiment pas a voir quoi
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Bonjour,

    Sympathique travail (même si j'ai du mal à comprendre et apprécier l'interface...);

    Attention au nommage des objets: tu as une fonction pioche dans laquelle tu déclares une variable pioche, passée en argument; je n'ai pas testé mais c'est dangereux;

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Par défaut
    Bonjour, au sujet de l'interface, il n'est en réalité pas encore fait, c'est simplement un affichage me permettant de suivre le déplacement des cartes .
    Merci pour le tip au sujet du nom des variables je viens de corriger ça .
    Mon problème était du au fait que mon tableau contient d'autre tableau et non des var.
    La solution est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    joueurselectionner.splice(joueurselectionner.indexOf(joueurselectionner.find(x => x.includes(idcarte) )),1)

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    C'est exactement ça; J'allais d'ailleurs te proposer de ne PAS insérer un tableau par carte; le pbm se situait à cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var retirage = deck.splice(x,1);
    splice renvoie un tableau alors que tu as juste besoin de la valeur d'un indice;

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2020
    Messages : 3
    Par défaut
    a super je n'arrivai pas a voir d'ou ça venait ^^
    plutôt étrange que splice renvoit un tableau

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Pas tant que ça: quand tu splices un tableau, tu le transformes, et tu peux le réutiliser directement sans le renommer;

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

Discussions similaires

  1. dupliquer une valeur d'un tableau avec un pas différent de 1
    Par mina2790 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 24/11/2019, 10h48
  2. [XL-2010] Détection d'une valeur dans un tableau de données variables - VBA
    Par Loïc.dla dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/05/2017, 08h28
  3. [XL-2010] Transfert d'une valeur d'un tableau à l'autre avec conditions
    Par gilou41 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2014, 10h49
  4. Récupérer une valeur d'un tableau avec jQuery
    Par waouni dans le forum jQuery
    Réponses: 8
    Dernier message: 21/05/2012, 11h23
  5. Recherche d'une valeur dans un tableau avec un grep
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 28/05/2008, 10h50

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