Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3453 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  vérifier exitence d'un objet dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

vérifier exitence d'un objet dans un tableau

n°2456829
paul30
Posté le 29-10-2023 à 12:01:28  profilanswer
 

Bonjour,
 
Je débute en javascript, j'essaye de vérifier la présence d'un objet au sein d'un tableau, lui-même dans une class. Je n'y arrive pas pour le moment.
 
Mon code:
 
1ère class livre avec le constructeur
 

Code :
  1. class Livre {
  2.             constructor (titre,pages){
  3.                   this.titre = titre
  4.                   this.pages = pages
  5.             }
  6. }


 
 
2ème class, avec la méthode addbook qui va poser problème

Code :
  1. class Librairie {
  2.             #livres = []
  3.             addbook(livre){
  4.                  
  5.                   if(this.#livres[livre] == undefined){
  6.                         this.#livres.push(livre)
  7.                   }
  8.                   else{
  9.                         console.log('ce livre existe déjà')
  10.                   }
  11.  
  12.             }
  13.             addbooks(livres){
  14.                   for(let livre of livres){
  15.                         this.#livres.push(livre)
  16.                   }
  17.             }
  18.       }


 
Création  des objets
 

Code :
  1. let book1 = new Livre('Seigneur des anneaux', 300)
  2. let book2 = new Livre('Tintin au tibet', 25)
  3. let bibliotheque = new Librairie()


 
J'essaie de perfectionner la fonction addbook en ajoutant une condition:
si le livre passé en argument est déjà présent dans le tableau '#livres' de la 'bibliothèque', alors le livre ne doit pas s'ajouter, le code doit afficher 'le livre existe déjà'.
A l'évidence mon code ne fonctionne pas puisque si je fais 2 fois  

Code :
  1. bibliotheque.addbook(book1)

alors le tableau #livres contient 2 fois le livre book1 :(
 
Preneur de vos remarques  :jap:  
Merci

mood
Publicité
Posté le 29-10-2023 à 12:01:28  profilanswer
 

n°2456875
mechkurt
Posté le 30-10-2023 à 11:41:31  profilanswer
 

Quand tu fait ligne 7 :

Code :
  1. if(this.#livres[livre] == undefined){


"livre" correspond a l'objet livre que tu as déjà mis, par contre this.#livres[X]  attend que X soit un index de ton tableau (si tu n'as pas mis d'autre livre l'index sera surement 0).
Quand bien même tu serais sur le bon index, je ne penses pas que tu puisse comparer un objet de cette façon, je penses qu'il faudra que tu compares ses propriétés.
Que doit tu faire si tu as une autre édition du seigneur des anneaux avec plus de page, tu l'ajoutes quand même ou pas, sinon une comparaison sur le nom seul devrait suffire...
 [:alkatraz]  
https://www.google.com/search?q=jav [...] ect+exists


---------------
D3
n°2456920
paul30
Posté le 31-10-2023 à 10:36:50  profilanswer
 

mechkurt a écrit :

Quand tu fait ligne 7 :

Code :
  1. if(this.#livres[livre] == undefined){


"livre" correspond a l'objet livre que tu as déjà mis, par contre this.#livres[X]  attend que X soit un index de ton tableau (si tu n'as pas mis d'autre livre l'index sera surement 0).
Quand bien même tu serais sur le bon index, je ne penses pas que tu puisse comparer un objet de cette façon, je penses qu'il faudra que tu compares ses propriétés.
Que doit tu faire si tu as une autre édition du seigneur des anneaux avec plus de page, tu l'ajoutes quand même ou pas, sinon une comparaison sur le nom seul devrait suffire...
 [:alkatraz]  
https://www.google.com/search?q=jav [...] ect+exists


 
Exact c'est ce que j'ai fini par faire finalement, en vérifiant l'existence du titre et en n'ajoutant pas le livre si le titre est trouvé.
 
Merci pour ta réponse

n°2457993
gatsu35
Blablaté par Harko
Posté le 13-11-2023 à 06:59:57  profilanswer
 

mais pourquoi ce # devant le nom de varaible, en JS on utilise jamais de # pour une variable, et en plus ça pourrait porter à ambiguité


---------------
Blablaté par Harko

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  vérifier exitence d'un objet dans un tableau

 

Sujets relatifs
Rendre cliquable chaque ligne entiere de tableauVB Script - filtre tableau
En Java, vous pouvez convertir une liste en tableau.Boucle for pour récupération tableau API [Résolu]
la Présentation de deux tableau html dans un même chartjs[Résolu] Pb de débutant, insérer des valeurs dans un tableau
[Powershell] Variable objet en paramètre de fonction & ValidateSetConfigurer les colonnes d'un tableau dans l'ordre
TensorFlow.js - Detection d'objet - Interpretation du résultatWordPress tableau à supprimer
Plus de sujets relatifs à : vérifier exitence d'un objet dans un tableau


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)