Результат:

еюсь, что кто-то может помочь мне с этим 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 ... для перехода через массив, но я не смог найти способ создания вложенных объектов.

Если у вас так далеко, большое спасибо, что нашли время, чтобы прочитать, даже если вы не можете помочь.

Ответы на вопрос(17)

Ваш ответ на вопрос