📅  最后修改于: 2023-12-03 15:16:11.093000             🧑  作者: Mango
在Javascript中,我们可以使用push()方法向数组中添加元素。而对于嵌套对象数组,我们可能需要将键值对推送到嵌套对象中。下面是几种实现方式:
我们可以使用Object.assign()方法将一个新的键值对合并到已有的对象中,然后再将它推送到数组中。代码如下:
let nestedArr = [{ id: 1, name: 'Tom', details: { age: 20 } }];
let newObj = { id: 2, name: 'Jerry', details: { age: 22 } };
Object.assign(newObj.details, { email: 'jerry@gmail.com' });
nestedArr.push(newObj);
console.log(nestedArr);
这段代码将会输出以下内容:
[
{ id: 1, name: 'Tom', details: { age: 20 } },
{ id: 2, name: 'Jerry', details: { age: 22, email: 'jerry@gmail.com' } }
]
我们可以使用解构赋值的方式将新的键值对合并到已有的对象中,然后再推送到数组中。代码如下:
let nestedArr = [{ id: 1, name: 'Tom', details: { age: 20 } }];
let newObj = { id: 2, name: 'Jerry', details: { age: 22 } };
newObj.details = { ...newObj.details, email: 'jerry@gmail.com' };
nestedArr.push(newObj);
console.log(nestedArr);
这段代码将会输出以下内容:
[
{ id: 1, name: 'Tom', details: { age: 20 } },
{ id: 2, name: 'Jerry', details: { age: 22, email: 'jerry@gmail.com' } }
]
我们也可以手动将新的键值对合并到已有的对象中,然后再推送到数组中。代码如下:
let nestedArr = [{ id: 1, name: 'Tom', details: { age: 20 } }];
let newObj = { id: 2, name: 'Jerry', details: { age: 22 } };
newObj.details.email = 'jerry@gmail.com';
nestedArr.push(newObj);
console.log(nestedArr);
这段代码将会输出以下内容:
[
{ id: 1, name: 'Tom', details: { age: 20 } },
{ id: 2, name: 'Jerry', details: { age: 22, email: 'jerry@gmail.com' } }
]
以上便是几种实现方式,根据实际情况可以选择使用不同的方式。