JavaScript如何合并多个存在同一数组里面的object?

已知有一个数组

const array = [
{ "a" : { "b" : { "c" : { "msg": "hello"} } } },
{"a" :{ "c" : { "msg": "hello"} } } ];

我想寻求一个function可以把数组里面的objects全部merge到一起。
结果如下:

{
    "a": {
        "b": {
                "c": {
                         "msg": "hello"
                        }
            },
            "c": {
                "msg": "hello"
              }
        }
}           

因为在merge的过程中,是要省略相同,保留不同。Object.assign()并不能做到这一点,想请问有什么办法可以达到这个目的。 js新手,谢谢大家!

没办法,这个得自己写递归算法做。面试要考的0.0