数组对象拷贝并赋值(可能描述的不准确)

arr1 = [{a:'1',b:'2',c:''},{a:'3',b:'4',c:''}]
arr2 = [{e:'5'},{e:'6'}]
有两个数组,想要的结果是
arr = [{a:'1',b:'2',c:'5'},{a:'1',b:'2',c:'6'},{a:'3',b:'4',c:'5'},{a:'3',b:'4',c:'6'}]

arr1和arr2的长度不是固定的,可能是一对多,多对多和多对一的关系

上面arr1中的每个对象都分别拷贝了一遍之后,再把arr2中e的值赋值给arr1中的c,想请教大佬们怎么做?

阅读 1.1k
1 个回答

就是数据拷贝,简单的就用浅拷贝,比如JSON.parse(JSON.stringify(item)),或者Object.assign

arr1.reduce((list, item) => {
    let res = arr2.map(item2 => {
        let o = JSON.parse(JSON.stringify(item))
        o.c = item2.e
        return o
    })
    return list.concat(res)
}, [])

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题