簡體   English   中英

將對象添加到數組對象

[英]Adding objects to array object

如果條件為真,我正在嘗試將對象添加到現有數組。

以下是我的代碼

RequestObj = [{
    "parent1": {
        "ob1": value,
        "ob2": {
            "key1": value,
            "key2": value
        },
    },
},
{
    "parent2": {
        "ob1": value,
        "ob2":{
            "key1":value,
            "key2": value
        }
    }
}]

這里我試圖在條件為真的情況下向RequestObj數組添加一個對象。 我可以做RequestObj.push() 但我不知道如何在parent1對象中添加。

if (key3 !== null) {
    // add this below object to parent1 object
    "ob3": {
        "key1": value,
        "key2": value
    }
}

我無法找到任何解決方案。 請幫忙

向元素添加元素的方法是push它。

// Create new object
var newObject = {
    "ob3": {
        "key1": value,
        "key2": value
    }
};
// Add new object to array
RequestObj.push(newObject);

您也可以直接將對象推入數組而不首先聲明變量:

// Add new object to array
RequestObj.push({
    "ob3": {
        "key1": value,
        "key2": value
    }
});

UPDATE

如果您沒有推入數組但是向數組內的對象添加新屬性,則需要知道數組內元素的位置,例如第一個元素的RequestObj[0]

然后在該元素中,您需要向parent1對象添加一個新屬性( RequestObj[0].parent1 ):

RequestObj[0].parent1.ob3 = {
      "key1": "A",
      "key2": "B"
 };

 var RequestObj = [{ "parent1": { "ob1": "A", "ob2": { "key1": "B", "key2": "C" }, }, "parent2": { "ob1": "D", "ob2": { "key1": "E", "key2": "F" } } }]; var key3 = 'somethingNotNull'; if (key3 !== null) { RequestObj[0].parent1.ob3 = { "key1": "A", "key2": "B" }; } console.log(RequestObj); 

你應該循環迭代RequestObj並按鍵parent1查找對象。

為此你可以像這樣使用.filter函數:

for(let i = 0; i < RequestObj.lenght; i++) {
   let found_object = RequestObj[i].filter(function (r) {
      return r == 'parent1'
   });
}

然后,您可以通過found_object執行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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