我们说我有一个空白的JavaScript对象:
myObject {}
我还有一个变量:
var myChildObject = this.name.split('.')[1];
为了举个例子,让我们说myChildObject
等于" FooBar"。现在,我想将一个名为" FooBar"的子对象添加到myObject
,只有我们不能硬编码" FooBar"。我们必须使用变量名myChildObject
。
我试过了:
myObject.appendChild(myChildObject);
那不起作用。
目标是:
{
"myObject":{
"FooBar":{
"thing1":25,
"thing2":6
},
.....
}
但是我需要动态地构建整个事物,而不是提前知道名字(除根之外)。
答案 0 :(得分:2)
对象是一种“键值”类型的东西,有点像Java中的Map。你尝试过这样的事情:
let myObject = {};
let myChildObject = "fooBar";
myObject[myChildObject] = {};
这样你的对象就有了一个“fooBar”键......现在你必须决定你希望该键的值是什么。
答案 1 :(得分:1)
var myObject = {};
var myChildObject = this.name.split('.')[1];
myObject[myChildObject] ={
"thing1":25,
"thing2":6
};
答案 2 :(得分:1)
对象只能有键值对。你不能没有其他人使用。如果您不想分配值,则只需提供undefined。如果你不知道属性的名称,那么你可以简单地使用对象的数组类型表示法" []"。请参阅下面的代码
if line in cmc.log == "# racadm getversion":
cmclist.next()
while line == "server-"
#do stuff to capture firmware
答案 3 :(得分:0)
我会说
for(var key in myChildObject) {
myObject[key] = myChildObject[key]
}
答案 4 :(得分:0)
不知道你的问题意味着什么,但myObject [“foobar”]可能就是你要找的东西