簡體   English   中英

使用變量名稱將子項添加到JavaScript對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM