Javascript 如何将两个json数组与object.assign组合

Javascript 如何将两个json数组与object.assign组合,javascript,arrays,object,Javascript,Arrays,Object,我想结合这两个json数组: mk = [ { sender: 'supporter', title: 'test4567', description: 'test', time: 1550387162726, image: 'http://185.94.99.69:9000/upload/ticket/image/5c6907da43cbef2d3ce4b653/1550387163125.png' } ] ticket.msg = [ { sender

我想结合这两个json数组:

mk = [ { sender: 'supporter',
    title: 'test4567',
    description: 'test',
    time: 1550387162726,


 image:
     'http://185.94.99.69:9000/upload/ticket/image/5c6907da43cbef2d3ce4b653/1550387163125.png' } ]
ticket.msg = [ { sender: 'supporter',
    title: 'test4567',
    description: 'test',
    time: 1550387162726,
    _id: 5c6907da43cbef2d3ce4b652,
    image: '' } ]
我已使用Object.assign完成此操作:

 newMsg = Object.assign([], mk,ticket.msg)
但它做得不对。结果是:

[ { sender: 'supporter',
    title: 'test4567',
    description: 'test',
    time: 1550387162726,
    _id: 5c6907da43cbef2d3ce4b652,
    image: '' } ]
我希望它是:

[ { sender: 'supporter',
    title: 'test4567',
    description: 'test',
    time: 1550387162726,
    _id: 5c6907da43cbef2d3ce4b652,
    image: 'http://185.94.99.69:9000/upload/ticket/image/5c6907da43cbef2d3ce4b653/1550387163125.png' } ]
使用Object.assign()

var mk=[{
发件人:'支持者',
标题:“test4567”,
描述:'测试',
时间:1550387162726,
图像:'http://185.94.99.69:9000/upload/ticket/image/5c6907da43cbef2d3ce4b653/1550387163125.png'
}]
var票证信息=[{
发件人:'支持者',
标题:“test4567”,
描述:'测试',
时间:1550387162726,
_id:'5c6907da43cbef2d3ce4b652',
图像:“”
}]
var a=Object.assign({},ticket_msg[0],mk[0]);

log(a)
那么您认为带“http:”的
img
值比带“value”的
img
更重要吗?你能详细说明一下合并的规则吗?最大的字符串仍然存在?数组
mk
ticket.msg
将始终在其中包含一个对象?我想在mongodb中更新此对象。我必须合并最后一个值(ticket.msg)和新值(mk)以获得所有内容@trincotThis没有回答这些评论,真的。你能告诉他们地址吗?你是说
mk
中的内容应该优先于
ticket.msg中的内容吗?在这种情况下,您在
Object.assign
中将它们按错误的顺序放置,您应该合并数组的元素,而不是数组。如果它们有更多的对象,那么合并应该基于什么基础进行?关键是什么?这个问题确实需要更多的信息…在你的例子中_id缺失“分配属性,而不仅仅是复制或定义新属性。如果合并源包含getter,则这可能不适合将新属性合并到原型中。用于将属性定义(包括其可枚举性)复制到原型
对象中。应改用getOwnPropertyDescriptor()
对象。defineProperty()