Как преобразовать строку в имя имени объекта в javascript
У меня есть объект js like:
obj = {
name: 'js',
age: 20
};
теперь я хочу получить доступ к полю имени obj, но я могу получить только имя строки 'name', поэтому, как преобразовать 'name' в имя поля obj, затем получить результат как obj.name.
Спасибо заранее.
Ответы
Ответ 1
Вы можете получить доступ к свойствам объекта javascript с помощью индекса i.e.
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)
Пример проверки @: http://www.jsfiddle.net/W8EAr/
Ответ 2
В Javascript obj.name
эквивалентен obj['name']
, который добавляет необходимую косвенность.
В вашем примере:
var fieldName = 'name'
var obj = {
name: 'js',
age: 20
};
var value = obj[fieldName]; // 'js'
Ответ 3
Достаточно просто, чтобы получить доступ к значению объекта через переменную, вы используете квадратные скобки:
var property = 'name';
var obj = {name: 'js'};
alert(obj[property]); // pops 'js'
Ответ 4
Поскольку объекты являются ассоциативными массивами в javascript, вы можете получить доступ к полю 'name' как obj['name']
или obj[fieldName]
, где fieldName = 'name'
.