我希望有人可以帮助我使用此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 ...循环才能遍历整个数组,但是我一直无法找到一种创建嵌套对象的方法。
如果您已经做到了这一点,非常感谢您花时间阅读,即使您无法帮助。
newSettingName.split('_')
。我看不到重复答案的意义,所以在那里。也许可以更好地解释您的答案。