Подтвердить что ты не робот

Как преобразовать строку в имя имени объекта в javascript

У меня есть объект js like:

obj = {
  name: 'js',
  age: 20
};

теперь я хочу получить доступ к полю имени obj, но я могу получить только имя строки 'name', поэтому, как преобразовать 'name' в имя поля obj, затем получить результат как obj.name.

Спасибо заранее.

4b9b3361

Ответ 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'.