JavaScript如何按索引合并两个数组,将对应profile嵌套到学生对象中
实现方案
直接通过数组map方法按索引匹配合并,再拆分即可得到目标结构,代码如下:
const student = [ { firstName: 'Partho', Lastname: 'Das' }, { firstName: 'Bapon', Lastname: 'Sarkar' } ]; const profile = [ { education: 'SWE', profession: 'SWE' }, { education: 'LAW', profession: 'Law' } ]; // 合并+拆分一步完成 const [student1, student2] = student.map((stu, index) => { // 用扩展运算符复制原学生对象,避免修改原始数据 return [{ ...stu, profile: [profile[index]] }] })
如果不支持解构语法,也可以按索引取值:
const mergedArr = student.map((stu, index) => { return [{ ...stu, profile: [profile[index]] }] }) const student1 = mergedArr[0] const student2 = mergedArr[1]
逻辑说明
- 遍历
student数组时拿到当前元素的索引,直接取同索引的profile元素即可完成匹配 - 用扩展运算符复制原学生对象属性,不会修改原始数组里的数据
- 最终返回的
student1、student2结构和你要求的完全一致
内容的提问来源于stack exchange,提问作者Partho
相关产品推荐
相关产品推荐

