【问题标题】:create a javascript key value object dynamically动态创建 javascript 键值对象
【发布时间】:2020-03-01 06:51:05
【问题描述】:

创建一键多值的javascript对象 我想要用 for 循环创建这样的东西

'Addresses': {
            '91e3e4ec8fbfc57477e05ca58679d830a2982a49a8d3fe60119ca84d640028ef': {
              'ChannelType': 'APNS',
              'Substitutions': {}
            },
           'test@test.com': {
              'ChannelType': 'EMAIL',
              'Substitutions': {}
            },


          }`

所以地址是键,但是在键的值内部还有另一个键值对。我如何在 javascript 中动态创建它?

我试过的是

 for(var i = 0; i < data.EndpointsResponse.Item.length; i++) {

    address[data.EndpointsResponse.Item[i].Address] = {
      'ChannelType':
      data.EndpointsResponse.Item[i].ChannelType
    };

但它正在以格式创建它

   'Addresses': {
            '91e3e4ec8fbfc57477e05ca58679d830a2982a49a8d3fe60119ca84d640028ef': 
              'ChannelType': 'APNS',
              'Substitutions': {}
            ,
           'test@test.com': 
              'ChannelType': 'EMAIL',
              'Substitutions': {}
            ,


          }`

这和我想要的不一样

【问题讨论】:

  • 通过使用动态属性名称或方括号表示法进行属性访问。
  • 如果您提供数据来源的简短示例,我相信您会得到有用的答案。可以轻松复制和粘贴的列表会很好用。
  • 看起来你应该自己做功课和一些研究,或者至少在来这里之前先尝试解决它并让其他人为你做这件事。我投了反对票。
  • spangle 这是我尝试的(var i = 0; i

标签: javascript node.js


【解决方案1】:

即使您在问题中提出的不足,我也会尽力回答。

您应该创建一个动态传递变量中的键的对象...

例如,如果您有一个字符串数组,您可以进入并使用该值作为新对象的键...

const arrayofString= ["key1", "key2", "key3"];
let objectnew = {}
arrayofString.forEach(item => {
  objectnew[item] = "value for item"
})

如果您稍微浏览一下互联网,您可以找到很多解决方案。像这样,例如:Creating object with dynamic keys

【讨论】:

    猜你喜欢
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多