繁体   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