var obj = {
a: "A",
b: "B",
c: "C"
}
console.log(obj.a); // return string : A
но я хочу пройти через переменную типа
var name = "a";
console.log(obj.name) // but return undefined
Как это сделать?
Ответ 1
Использовать нотацию [] для строковых представлений свойств:
console.log(obj[name]);
В противном случае он ищет свойство "name", а не свойство "a".
Ответ 2
obj [ "a" ] эквивалентно obj.a
поэтому используйте obj [name], вы получаете "A"
Ответ 3
Используйте этот синтаксис:
obj[name]
Обратите внимание, что obj.x совпадает с obj["x"] для всех допустимых идентификаторов JS, но последняя форма принимает все строки как ключи (а не только действительные идентификаторы).