2011-10-04 6 views
0

Je veux vérifier si une clé existe dans un objet et si elle existe, retourner la valeur de la clé.Javascript: Comment vérifier si une clé existe et retourner la valeur de la clé

var user_right=user_rights.split(','); 
var tbar=new Array(); 
Ext.each(user_right,function(val,index){ 
    if(items.hasOwnProperty(val)) 
    -->tbar.push(items.val) 
}); 
console.log(tbar); 

Mais « tbar.push (items.val) » ne fonctionne pas, je suis sûr que ce n'est pas la bonne méthode. Comment récupérer la valeur. Mise à jour: Malheureusement, c'est ci-dessous le code ne fonctionne pas trop

if(items.hasOwnProperty(val)){}

S'il vous plaît aider

+0

Il y a quelques réponses _relevant_ ici http://stackoverflow.com/questions/5113374/javascript-check-if-variable-existe-quelle-méthode-est-mieux, ainsi que ici http://stackoverflow.com/questions/7636789/in-javascript-is-there-an-easier -way-to-check-if-a-propriété-d'-une-propriété-existe –

Répondre

0

Je suppose que vous vérifiez les valeurs de l'objet avec hasOwnProperty, qui vérifie les clés non valeurs.

vous pouvez utiliser ordinaire pour la boucle:

for(var i=0; i<user_right.length; i++){ 
    tbar[i] = user_right[i]; 
} 

vous feriez mieux d'utiliser Ext.iterate pour les objets non tableau:

Ext.iterate(user_right, function(key, value) { 
    if(items.hasOwnProperty(key)) 
    tbar.push(value); 
}); 
Questions connexes