我希望有人可以帮助我使用这个 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… 循环遍历数组,但我还没有找到创建嵌套对象的方法。
如果你已经走到这一步,非常感谢你花时间阅读,即使你帮不上忙。
原文由 David 发布,翻译遵循 CC BY-SA 4.0 许可协议
用法: