我希望有人可以帮助我使用这个 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... 循环来遍历数组,但我无法找到一种方法来创建嵌套对象。
如果你已经读到这里,非常感谢你花时间阅读,即使你无能为力。