首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将嵌套值添加到关联数组- JS

将嵌套值添加到关联数组- JS
EN

Stack Overflow用户
提问于 2017-03-16 06:37:07
回答 2查看 158关注 0票数 1

只要坚持这一点,任何帮助都将不胜感激。

我有一个像这样的关联数组:

代码语言:javascript
复制
var player = {
  source: {
    item1: value,
    item2: value,
    item3: {
      item3-1: value
    }
  },
  playback: {
    parameter1: value,
    parameter2: value,
  }
}

我想要做的是像这样向player.source中添加值:

代码语言:javascript
复制
player.source.item4.item4-1 = 'something'

这样player.source看起来就像这样:

代码语言:javascript
复制
  source: {
    item1: value,
    item2: value,
    item3: {
      item3-1: value
    },
    item4: {
      item4-1: 'something',
    },
  },

提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-16 06:43:48

我不确定它是不是有点太复杂了,但看起来是有效的。

代码语言:javascript
复制
var player = {source:{item1:"value",item2:"value",item3:{"item3-1":"value"}},playback:{parameter1:"value",parameter2:"value"}},
    obj = {
      'item4-1': 'something'
    };

    player.source.item4 = obj;
    console.log(player);

票数 1
EN

Stack Overflow用户

发布于 2017-03-16 06:55:45

你可以这样做--只要创建一个函数来给对象添加一个属性/值即可。如果该属性已经存在,它只会覆盖该值。

代码语言:javascript
复制
var value = 5;
var player = {
  source: {
    item1: value,
    item2: value,
    item3: {
      "item3-1": value
    }
  },
  playback: {
    parameter1: value,
    parameter2: value,
  }
}

function addProperty(obj, categoryName, value) {
  obj[categoryName] = value;
  return obj;
}

addProperty(player.source, "item4", addProperty({}, "item4-1", value));
console.log(player);

要添加后续属性/值,可以访问对象上新创建的属性,如下所示:

代码语言:javascript
复制
addProperty(player.source.item4, "item4-2", 6);
addProperty(player.source.item4, "item4-3", 7);
// etc...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42822023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档