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