只要坚持这一点,任何帮助都将不胜感激。
我有一个像这样的关联数组:
var player = {
source: {
item1: value,
item2: value,
item3: {
item3-1: value
}
},
playback: {
parameter1: value,
parameter2: value,
}
}
我尝试做的是将值添加到player.source中,如下所示:
player.source.item4.item4-1 = 'something'
这样,player.source看起来像这样:
source: {
item1: value,
item2: value,
item3: {
item3-1: value
},
item4: {
item4-1: 'something',
},
},
提前感谢您的帮助。
答案 0 :(得分:1)
我不确定它是不是lil'有点过于复杂,但似乎有效。
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 :(得分:1)
你可以这样做 - 只需创建一个函数,通常将属性/值添加到对象。如果属性已存在,则只会覆盖该值。
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);
要添加后续属性/值,您可以访问对象上新创建的属性,如下所示:
addProperty(player.source.item4, "item4-2", 6);
addProperty(player.source.item4, "item4-3", 7);
// etc...