Я надеюсь, что кто-то может помочь мне с этим Javascript.
У меня есть объект под названием «Настройки», и я хотел бы написать функцию, которая добавляет новые настройки для этого объекта.
имя и значение новой настройки предоставляются в виде строк.Строка, дающая имя параметра, затем разделяется подчеркиванием на массив.Новый параметр должен быть добавлен к существующему объекту «Настройки» путем создания новых вложенных объектов с именами, заданными каждой частью массива, кроме последней части, которая должна быть строкой, дающей значение параметра.Затем я должен иметь возможность обратиться к настройке и, например, предупредить ее значение.Я могу сделать это статическим способом, как это ...
var Settings = {};
var newSettingName = "Modules_Video_Plugin";
var newSettingValue = "JWPlayer";
var newSettingNameArray = newSettingName.split("_");
Settings[newSettingNameArray[0]] = {};
Settings[newSettingNameArray[0]][newSettingNameArray[1]] = {};
Settings[newSettingNameArray[0]][newSettingNameArray[1]][newSettingNameArray[2]] = newSettingValue;
alert(Settings.Modules.Mediaplayers.Video.Plugin);
... часть, которая создает вложенные объекты, делает это ...
Settings["Modules"] = {};
Settings["Modules"]["Video"] = {};
Settings["Modules"]["Video"]["Plugin"] = "JWPlayer";
Однако, какколичество частей, составляющих имя настройки, может варьироваться, например, newSettingName может быть «Modules_Floorplan_Image_Src», я хотел бы сделать это динамически, используя такую функцию, как ...
createSetting (newSettingNameArray, newSettingValue);
function createSetting(setting, value) {
// code to create new setting goes here
}
Может кто-нибудь помочьмне решить, как сделать это динамически?
Я предполагаю, что должен быть цикл for ... для перехода через массив, но я не смог найти способ создатьвложенные объекты.
Если вы зашли так далеко, большое спасибо за то, что нашли время прочитать, даже если вы не можете помочь.