[英]Add a property to a JavaScript object using a variable as the name?
[英]Add a child to a JavaScript object with a variable name
假設我有一個空白的JavaScript對象:
myObject {}
而且我還有一個變量:
var myChildObject = this.name.split('.')[1];
為了舉例說明,假設myChildObject
等於“ FooBar”。 現在,我想以“ FooBar”的名稱向myObject
添加一個子對象,只有我們不能對“ FooBar”進行硬編碼。 我們必須使用變量名稱myChildObject
。
我嘗試了這個:
myObject.appendChild(myChildObject);
那不行
目標是這樣的:
{
"myObject":{
"FooBar":{
"thing1":25,
"thing2":6
},
.....
}
但是我需要動態地構建整個事物,而不必提前知道名稱(除了根)。
對象是事物的“鍵值”類型,有點像Java中的Map。 您是否嘗試過像這樣的事情:
let myObject = {};
let myChildObject = "fooBar";
myObject[myChildObject] = {};
這樣,您為對象有一個“ fooBar”鍵...現在,您必須確定希望該鍵的值是什么。
var myObject = {};
var myChildObject = this.name.split('.')[1];
myObject[myChildObject] ={
"thing1":25,
"thing2":6
};
對象只能具有鍵值對。 您不能一無所用。 如果您不想分配值,則只需給出undefined即可。 如果您不知道屬性的名稱,則可以簡單地對對象“ []”使用數組類型表示法。 請參閱下面的代碼
var myObject = {};
var myChildObject = this.name.split('.')[1];
myObject[myChildObject] = undefined;
console.log(myObject.hasOwnProperty(myChildObject)); // true
我會說
for(var key in myChildObject) {
myObject[key] = myChildObject[key]
}
不知道您的問題意味着什么,但myObject [“ foobar”]可能就是您要尋找的東西
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.