Parcourir les propriétés d'un objet mais les méthodes
slecocq
Messages postés3Date d'inscriptionvendredi 20 avril 2012StatutMembreDernière intervention25 janvier 2013
-
20 avril 2012 à 09:45
slecocq
Messages postés3Date d'inscriptionvendredi 20 avril 2012StatutMembreDernière intervention25 janvier 2013
-
20 avril 2012 à 13:59
Bonjour,
j'ai ajouté deux méthodes à la classe Object dans mon code
Le problème, c'est que maintenant, lorsque je veux parcourir les propriétés d'un objet, il intègre également ces deux fonctions dans les résultats de parcours.
Par exemple, avec le code suivant :
var test = {coucou: 1, salut:2, bonjour : 3};
for(var i in test){
alert(i);
}
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 20 avril 2012 à 12:31
Bien le bonjour, un problème relativement intéressant !
Alors, pour n'avoir que les propriétés et non les méthodes d'un objet, il suffit de tester que ce ne soit pas une fonction, certes, dit comme ça, c'est un peu simpliste, mais la solution l'est tout autant:
// S'assure que l'attribut tester n'est pas une instance de fonction.
if (! (test[i] instanceof Function)){
alert (i);
}
J'ai été confronté au problème, il n'y a pas très longtemps...
slecocq
Messages postés3Date d'inscriptionvendredi 20 avril 2012StatutMembreDernière intervention25 janvier 2013 20 avril 2012 à 13:59
Bonjour,
Merci beaucoup pour ta réponse aussi rapide. J'avais en effet pensé à cette solution, mais j'aurai voulu l'éviter, parce que j'avais déjà une quantité astronomique de boucles de parcours de mes objets quand j'ai créé ces deux fonctions, et je ne voulais pas me les retaper.
Mais je pense que je n'ai pas le choix. Merci bien.
Seb