JavaScript将对象数组添加到特定键
我正在努力使用Vue.js将对象数组添加到现有的对象数组中。 我实际上想做的是在另一个表单转发器中制作表单转发器。 我成功地做了第一个没有问题,但是第二个让我非常紧张 我尝试了拼接和推送功能,但没有按预期工作 这是第一个表单转发器的函数(它正在工作) 顺便说一句:父项定义为处于状态的数组JavaScript将对象数组添加到特定键,javascript,vue.js,Javascript,Vue.js,我正在努力使用Vue.js将对象数组添加到现有的对象数组中。 我实际上想做的是在另一个表单转发器中制作表单转发器。 我成功地做了第一个没有问题,但是第二个让我非常紧张 我尝试了拼接和推送功能,但没有按预期工作 这是第一个表单转发器的函数(它正在工作) 顺便说一句:父项定义为处于状态的数组 addParent: function () { this.form.parent.push({ name: '', ag
addParent: function () {
this.form.parent.push({
name: '',
age: '',
});
},
因此,输出如下所示:
parent: [
{
name: 'My name',
age: 32,
}
]
因此,在这个对象中,我需要添加一个子对象,如下所示:
parent: [
{
name: 'My name',
age: 32,
child: [
{
name: 'My children',
school: 'Elementary'
}
]
}
]
我试着这样做:
addChildren: function (index) {
this.form.parent.splice([index], 0, {
child: {
name: '',
school: '',
}
});
},
由于某种原因,它无法工作,它添加了新的父数组和子数组的对象。
这是我尝试的另一种方式:
addChildrenSecoundTry: function (index) {
var dd = [];
dd[index] = {
child: {
name: '',
school: '',
}
};
this.form.packages.splice([index], 0, dd);
},
但是没有成功
我尝试了push,从父级传递了一个密钥,但它总是给出一个错误,即push不是一个函数
下面是一个我为了更清晰地了解我的想法而制作的示例。尝试在给定索引处使用新的(
子项
)扩展原始键
addChildren: function (index) {
this.form.parent.splice(index, 1, {
...this.form.parent[index],
child: {
name: '',
school: '',
}
});
},
可以直接将数组/对象添加到父对象。我使用了一个三元键来检查“child”键是否存在,如果存在,则将对象推到该键上,否则创建一个新键,并将对象放入数组中
addChildren: function (index) { this.form.parent[index].child =
this.form.parent[index].child ? this.form.parent[index].child.push({name: '',
school: '',}) : [ {name: '', school: '',} ], } }); },