2017-10-10 6 views
0

est-il un moyen plus facile d'accéder à une propriété d'objet en JavaScript en utilisant une variable?propriété d'objet JavaScript d'accès en utilisant la variable

est ici ce qui ne fonctionne pas:

var element_id = this.data().element_type + 'id'; 

Voilà comment cela fonctionne, ce qui semble alambiqué.

var element_id; 
if (element_type == 'assignment') { 
    element_id = this.data().assignmentid; 
} else if (element_type == 'question') { 
    element_id = this.data().questionid; 
} else { 
    element_id = this.data().answerid; 
} 

Répondre

3

le faire comme ceci:

var element_id = this.data()[element_type + 'id']; 

C'est la syntaxe alternative à la dot accès à la propriété, ce qui vous permet de spécifier une chaîne indiquant le nom de la propriété.

La raison pour laquelle votre approche ne fonctionne pas parce que this.data().element_type + 'id' signifie premierthis.data().element_type et évaluer puis ajouter'id' à elle.