只要坚持这一点,任何帮助都将不胜感激。
我有一个像这样的关联数组:
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',
},
},提前感谢您的帮助。
发布于 2017-03-16 06:43:48
我不确定它是不是有点太复杂了,但看起来是有效的。
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);
发布于 2017-03-16 06:55:45
你可以这样做--只要创建一个函数来给对象添加一个属性/值即可。如果该属性已经存在,它只会覆盖该值。
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...https://stackoverflow.com/questions/42822023
复制相似问题