2010-06-05 6 views
3

Comment puis-je lister/boucler toutes les propriétés d'un objet? Connaissant seulement le nom de l'objet.js objets et propriétés

par exemple

for(var prop in myobject){ 
alert(prop.name); 
alert(prop.value); 
} 
+0

Utilisez accessoire comme une clé dans les propriétés de myObject dire myobject [prop] –

Répondre

4
for(var prop in myobject) { 
    alert(prop); 
    alert(myobject[prop]); 
} 
+0

Rappelez-vous d'utiliser '.hasOwnProperty' –

+0

Je viens liais pour voir les propriétés de marqueur google map. (api2) Fonctionne merci, sauf qu'il y a beaucoup de propriétés! Document.write pourrait être mieux la prochaine fois au lieu de l'alerte. Oops – Harry

2

Vous y êtes presque!

for(var prop in myobject){ 
    alert(prop);   // -> property name 
    alert(myobject[prop]); // -> property value 
} 

Soyez conscient que cela n'itérer sur les propriétés qui ne sont pas l'attribut {DontEnum}. Presque toutes les propriétés et méthodes intégrées ne seront pas réitérées, vous ne verrez que les propriétés personnalisées et les méthodes ajoutées directement ou via le prototype.

1
myobj.prototype.details= function(delim, sortfun){ 
    delim=delim || ', '; 
    var list= []; 
    for(var p in this){ 
     if(this.hasOwnProperty(p){ 
      list[list.length]=p+':'+this[p].toString(); 
     } 
    } 
    if(typeof sortfun==function) list.sort(sortfun); 
    return list.join(delim); 
} 

f

Questions connexes