Javascript 向数组对象添加对象
如果条件为true,我将尝试向现有数组添加对象 下面是我的代码Javascript 向数组对象添加对象,javascript,jquery,angular,typescript,Javascript,Jquery,Angular,Typescript,如果条件为true,我将尝试向现有数组添加对象 下面是我的代码 RequestObj = [{ "parent1": { "ob1": value, "ob2": { "key1": value, "key2": value }, }, }, { "parent2": { "ob1": value, "ob2":{ "ke
RequestObj = [{
"parent1": {
"ob1": value,
"ob2": {
"key1": value,
"key2": value
},
},
},
{
"parent2": {
"ob1": value,
"ob2":{
"key1":value,
"key2": value
}
}
}]
这里,如果条件为true,我将尝试向RequestObj
数组添加一个对象。我可以做RequestObj.push()
。但是我不知道如何添加到parent1
对象中
if (key3 !== null) {
// add this below object to parent1 object
"ob3": {
"key1": value,
"key2": value
}
}
我找不到任何解决办法。请帮助将元素添加到数组的方法是添加到数组中 也可以直接将对象推入数组,而无需先声明变量:
// Add new object to array
RequestObj.push({
"ob3": {
"key1": value,
"key2": value
}
});
更新
如果您不是要推入数组,而是要向数组中的对象添加新属性,则需要知道数组中元素的位置,如第一个元素的RequestObj[0]
然后在该元素中,需要向parent1
对象(RequestObj[0].parent1
)添加一个新属性:
var RequestObj=[{
“家长1”:{
“ob1”:“A”,
“ob2”:{
“键1”:“B”,
“键2”:“C”
},
},
“父母2”:{
“ob1”:“D”,
“ob2”:{
“键1”:“E”,
“键2”:“F”
}
}
}];
var key3='somethingNotNull';
如果(键3!==null){
RequestObj[0]。parent1.ob3={
“键1”:“A”,
“键2”:“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'
});
}
for(设i=0;i
然后,您可以对
找到的\u对象执行操作
这是一个对象数组。。我错过了括号您的括号仍然不匹配如果我理解正确,您希望覆盖parent1或parent2对象中的key1和key2。正确吗?您希望的最终对象是什么?“parent1”:{“ob1”:value,“ob2”:{“key1”:value,“key2”:value},“ob3”:{“key1”:value,“key2”:value}我需要将ob3对象推到parent1
内部。每个父对象1?或只是阵列中的第一项推到parent1,它可能不是第一项
RequestObj[0].parent1.ob3 = {
"key1": "A",
"key2": "B"
};
for(let i = 0; i < RequestObj.lenght; i++) {
let found_object = RequestObj[i].filter(function (r) {
return r == 'parent1'
});
}