Разрешение имени составного объекта на лету

#javascript #node.js

#javascript #node.js

Вопрос:

Я разрабатываю node.js модуль и не могу найти, как разрешить динамически составные имена объектов. Допустим, у меня есть объект типа: application.config и я хочу изменить некоторые его свойства:

 application.config.somename = "smth"
  

проблема в том, что все, что приходит после application.config , заранее неизвестно (оно поступает из браузера)

Глубина объекта также не известна заранее, это может быть application.config.somename.anothername , конечно somename , и anothername определено.

Спасибо.

Ответ №1:

Вы могли бы использовать такой модуль, как dotty. Это позволяет использовать путь к объекту в качестве строки для установки и получения значений и проверки существования.

Комментарии:

1. 1 за это (хотя у вас недостаточно репутации), но что, если одно из свойств array dotty не может разрешить application.config.x[0].y

2. В настоящее время вы можете проверить put(...) === false , является ли путь к объекту недопустимым.

Ответ №2:

Если application.config определено, application.config.x будет работать нормально. Вы можете добавить произвольные атрибуты к объекту в любое время.

Комментарии:

1. но глубина неизвестна, также это может быть application.config.x или application.config.x.y.z, а часть x.y.z представлена в виде строки