He encontrado un problema recientemente:
Copiar código del código de la siguiente manera:
var obj = {"name1": "zhang san", "name2": "li si"};
var key = "name1";
value var = obj.key; // Obtén "indefinido"
valor = obj.name1; // Get "Zhang San"
En realidad, quiero asignar dinámicamente un valor a la clave y luego obtener el valor de la clave tanto como es. Pero este enfoque no funciona.
Entonces, pensé en una forma de atravesar las propiedades del objeto en JS:
Copiar código del código de la siguiente manera:
function printObject (obj) {
// obj = {"cid": "c0", "ctext": "distrito y condado"};
VAR test = "" ;;
para (var i en obj) {// bucle a través de las propiedades del objeto con JavaScript para/in
temp+= i+":"+obj [i]+"/n";
}
alerta (temp); // Resultado: CID: C0/N CTEXT: Distrito y Condado
}
De esta manera, puede saber claramente cuál es la clave y el valor de un objeto en JS respectivamente.
Volviendo a la pregunta en este momento, ¿cómo asignar dinámicamente un valor a la clave y luego obtener el valor correspondiente en OBJ.Key?
De hecho, hay un mensaje en el PrintObject anterior, es decir, se utiliza el método OBJ [clave], la clave puede ser dinámica, que resuelve el problema que planteé anteriormente.
Finalmente, hay otro método que se puede hacer, es decir: eval ("obj".+Clave).
Resumir:
Hay dos formas de obtener el valor correspondiente en un determinado objeto basado en la clave dinámica en JS:
1. Var key = "name1"; var value = obj [key];
2. Var key = "name1"; var value = eval ("obj."+Key);