19
Javascript:如何使用数组给定的对象名称动态创建嵌套对象
我希望有人可以帮助我使用此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 …