Ho un object js come:
obj = { name: 'js', age: 20 };
ora voglio accedere al campo nome di obj, ma posso solo ottenere ‘nome’ stringa, quindi come convertire ‘nome’ in nome campo obj, quindi ottenere risultati come obj.name.
Grazie in anticipo.
Puoi accedere alle proprietà dell’object javascript usando l’indice ie
var obj = { name: 'js', age: 20 }; var isSame = (obj["name"] == obj.name) alert(isSame); var nameIndex = "name"; // Now you can use nameIndex as an indexor of obj to get the value of property name. isSame = (obj[nameIndex] == obj.name)
Controlla esempio @: http://www.jsfiddle.net/W8EAr/
In Javascript, obj.name
equivale a obj['name']
, che aggiunge l’indirezione necessaria.
Nel tuo esempio:
var fieldName = 'name' var obj = { name: 'js', age: 20 }; var value = obj[fieldName]; // 'js'
È abbastanza semplice, per accedere al valore di un object tramite una variabile, utilizzare parentesi quadre:
var property = 'name'; var obj = {name: 'js'}; alert(obj[property]); // pops 'js'
Poiché gli oggetti sono array associativi in javascript, puoi accedere al campo ‘nome’ come obj['name']
o obj[fieldName]
dove fieldName = 'name'
.