javascript - 如何在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"
},
]
我不知道如何将第二个数组中的值分别添加到第一个数组中,非常感谢任何帮助和建议。
解决方案
循环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)
推荐阅读
- python - 使用 python 和美丽的汤抓取数据
- excel - Excel VBA 错误“438”对象不支持此属性或方法
- python - 如何仅使用 Python(无 matplotlib)制作简单的垂直直方图
- openssl - cocoapod openssl-ios-bitcode 不再安装
- mysql - 基于一列访问两行,但也访问这些行的其他列
- java - Java - 如何连接类、方法、构造函数?
- python-3.x - Python3 - TypeError: 'float' 和 'NoneType' 的实例之间不支持'>'
- boost-beast - 关于 boost beast websocket api : async_close, async_write
- node.js - Azure Web 应用程序 - 无法获取(特定路径)
- embedded - 在裸机微控制器应用程序中是否需要 GCC 的 .fini 部分?