📌  相关文章
📜  Javascript 如何将键值对推送到嵌套对象数组中 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:11.093000             🧑  作者: Mango

Javascript 如何将键值对推送到嵌套对象数组中

在Javascript中,我们可以使用push()方法向数组中添加元素。而对于嵌套对象数组,我们可能需要将键值对推送到嵌套对象中。下面是几种实现方式:

方法一:使用Object.assign()

我们可以使用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' } }
]

以上便是几种实现方式,根据实际情况可以选择使用不同的方式。