首页 > 解决方案 > 如何在Javascript中向对象数组添加不同的值?

问题描述

我有一个这样的对象数组:

"data":
[
{"name":"Jane Doe",
"age":28,
"title":"Manager"
},
{"name":"James Brown",
"age":20,
"title":"Intern"
},
{"name":"Irene Vargas",
"age":35,
"title":"Accountant"
},
]

我有一个单独的对象数组:

[
{"experience": "7 years",
"hobby": "Music"
},
{"experience": "6 months",
"hobby": "Video games"
},
{"experience": "15 years",
"hobby": "Skydiving"
},
]

如何将第二个数组中的值添加到第一个数组中,结果应该是这样的:

"data":
[
{"name":"Jane Doe",
"age":28,
"title":"Manager",
"experience": "7 years",
"hobby": "Music"
},
{"name":"James Brown",
"age":20,
"title":"Intern",
"experience": "6 months",
"hobby": "Video games"
},
{"name":"Irene Vargas",
"age":35,
"title":"Accountant",
"experience": "15 years",
"hobby": "Skydiving"
},
]

我不知道如何将第二个数组中的值分别添加到第一个数组中,非常感谢任何帮助和建议。

标签: javascriptarraysloopsobject

解决方案


循环arr1并使用Object.assign将另一个数组中相同索引中的项的属性分配给当前项:

const arr1=[{name:"Jane Doe",age:28,title:"Manager"},{name:"James Brown",age:20,title:"Intern"},{name:"Irene Vargas",age:35,title:"Accountant"}],arr2=[{experience:"7 years",hobby:"Music"},{experience:"6 months",hobby:"Video games"},{experience:"15 years",hobby:"Skydiving"}];

arr1.forEach((e,i) => Object.assign(e, arr2[i]))

console.log(arr1)


推荐阅读