756 votes

vérifier si la propriété d'objet existe - en utilisant une variable

vérifier l'existence de la propriété de l'objet javascript avec une variable dans le cadre du nom de l'objet.

 var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};
 

Ceci est indéfini car il cherche myObj.myProp quand je veux qu'il vérifie myObj.prop

1435voto

Rocket Hazmat Points 87407
 if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}
 

Ou

 if(myProp in myObj){
    alert("yes, i have that property");
}
 

49voto

canon Points 14870

Utilisez l'opérateur in :

 if(myProp in myObj){
    // your code
}
 

ou Object.prototype.hasOwnProperty() :

 if(myObj.hasOwnProperty(myProp)){
    // your code
}
 

Je vais vous renvoyer à cette réponse, car c'est assez snazzy.

26voto

Merci pour l'aide de tout le monde et de pousser à se débarrasser de la déclaration d'évaluation. Les variables doivent être entre parenthèses, pas la notation par points. Cela fonctionne et est propre, bon code.

Chacun d'entre eux sont des variables: appChoice, underI, underObstr.

 if(typeof tData.tonicdata[appChoice][underI][underObstr] !== "undefined"){
    //enter code here
}
 

-9voto

Paulo Mendonça Points 142

qu'en est-il de? !!myObject['myProp'] fonctionne pour moi.

-13voto

kirubakar Points 8
if(myObj[myProp])
{

   `enter code here`

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X