var arr = { foo : 1, bar: { baz : 2 }, bee : 3 }
function getter(variable) {
return arr[variable];
}
Если я хочу «foo» против «пчелы», я могу просто сделать arr[variable]
- это легко, и функция делает это.
Но что, если я хочу получить arr.bar.baz
АКА arr[bar][baz]
?
Что я могу передать функции получения, которая позволит мне это делать (и, конечно, также позволяет мне получить не вложенные свойства, используя ту же функцию).
Я пытался getter('bar.baz')
и getter('[bar][baz]')
, но они не работали.
Полагаю, я могу разобрать точки или скобки (например, здесь: В javascript проверить свойство, глубоко вложенное в граф объектов? ). Есть ли более чистый способ? (Кроме Eval конечно.)
Тем более, что мне нужно много раз правильно настроить глубоко заданные циклы для набора элементов массива.