最佳答案
我希望有人能帮我处理这个 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 可以是“ Module _ Floorplan _ Image _ Src”,因此我想动态地使用一个函数,比如..。
createSetting (newSettingNameArray, newSettingValue);
function createSetting(setting, value) {
// code to create new setting goes here
}
有人能帮我解决如何做到这一点动态?
我假设这里必须有一个 for... 循环来遍历数组,但是我还没有找到创建嵌套对象的方法。
如果你已经读了这么多,非常感谢你花时间阅读,即使你不能帮助。