Получить значение свойства из строки структуры объекта?
Есть строка "object.param" и есть объект со свойством objeсt.param который хранит значение 5 к примеру.
Как я могу получить значение свойства объекта который находится в той же области видимости если у меня есть только строка?
Если точнее то делаю рекурсивный перебор объекта с заменой названия на значение в строке.
Получить свойство вложеных объектов Вы можете с помощью примерно такого метода:
/**
* Получить/установить значение объекта передав путь строкой ('price.current.USD')
* @param {object} object - объект
* @param {string} key - путь к свойству
* @param {any} value - значение
* @returns {any} - значение свойства объекта
**/
function nestedObjectPath(object, key, value) {
var path = key.split('.');
var get = function(path, object) {
return path.reduce(function(previous, current) {
return previous[current];
}, object);
};
if (value) {
var way = path.pop();
get(path, object)[way] = value;
return object;
} else {
return get(path, object);
}
}