如何正确合并两个对象数组?

我有以下包含对象的数组:


[

  {

    name: "test",

    sub: {

      name: "asdf",

      sub: {}

    }

  },

  {

    name: "models",

    sub: {}

  }

]

我还有以下对象:


{

  name: "test",

  sub: {

    name: "asdf",

    sub: {

      name: "inside_asdf",

      sub: {}

    }

  }

}

现在我想以某种方式合并两者,以便得到一个如下所示的数组:


[

  {

    name: "test",

    sub: {

      name: "asdf",

      sub: {

        name: "inside_asdf",

        sub: {}

      }

    }

  },

  {

    name: "models",

    sub: {}

  }

]

问题是我不知道该怎么做。我还希望这适用于任何数组深度,所以如果我想将数组合并到“inside_asdf”的子项,它也可以。希望有人能帮助我。我也已经尝试过 Object.merge 但这不会输出所需的结果。我感谢每一个信息或解决方案。提前致谢。


潇潇雨雨
浏览 153回答 1
1回答

慕码人2483693

它是使用 jQuery 原型 $.extend。并不是说我再次包装了带有数组标签的 aaaa [],因为它需要具有相同的结构。实现您想要的完整代码:var data = [  {    name: "test",    sub: {      name: "asdf",      sub: {}    }  },  {    name: "models",    sub: {}  }];var aaaa = [{    name: "test",    sub: {      name: "asdf",      sub: {        name: "inside_asdf",        sub: {}      }    }  }];console.log($.extend({}, data, aaaa));<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript