J'ai rencontré un problème récemment:
La copie de code est la suivante:
var obj = {"name1": "zhang san", "name2": "li si"};
var key = "name1";
Var Value = obj.key; // Get "Undefined"
valeur = obj.name1; // obtenir "Zhang San"
En fait, je souhaite attribuer dynamiquement une valeur à la clé, puis obtenir la valeur de la clé autant qu'elle est. Mais cette approche ne fonctionne pas.
J'ai donc pensé à un moyen de traverser les propriétés des objets dans JS:
La copie de code est la suivante:
fonction printObject (obj) {
// obj = {"cid": "c0", "ctext": "district et comté"};
var temp = "";
for (var i in obj) {// Loop via les propriétés de l'objet avec javascript pour / in
temp + = i + ":" + obj [i] + "/ n";
}
alerte (temp); // Résultat: CID: C0 / N CText: District and Count
}
De cette façon, vous pouvez clairement savoir quelle est respectivement la clé et la valeur d'un objet dans JS.
Pour en revenir à la question tout à l'heure, comment attribuer dynamiquement une valeur à la clé, puis obtenir la valeur correspondante dans obj.key?
En fait, il y a une invite dans le printObject ci-dessus, c'est-à-dire que la méthode OBJ [clé] est utilisée, la clé peut être dynamique, ce qui résout le problème que j'ai soulevé ci-dessus.
Enfin, il existe une autre méthode qui peut être faite, c'est-à-dire: EVAL ("OBJ." + Key).
Résumer:
Il existe deux façons d'obtenir la valeur correspondante dans un certain objet basé sur la clé dynamique dans JS:
1. Var key = "name1"; var valeur = obj [key];
2. Var key = "name1"; var value = eval ("obj." + Key);