使用push()将两个数组合并为一个

web*_*.ic 1 javascript jquery push object

我有以下代码:

list1 = {
    Items: [
        {
            ID: 1,
            Name: "Zurich"
        },
        {
            ID: 2,
            Name: "London"
        },            {
            ID: 3,
            Name: "New York"
        }
    ]
};

list2 = {
    Items: [
        {
            ID: -1,
            Name: "Dummy"
        },
        {
            ID: 0,
            Name: "Dummy2"
        }
    ]
};

list1.push(list2);
Run Code Online (Sandbox Code Playgroud)

我希望得到以下结果:

列表1:

  • 0:对象(苏黎世)
  • 1:对象(伦敦)
  • 3:对象(纽约)
  • 4:对象(虚拟)
  • 5:对象(Dummy2)

但是我得到了这个:

列表1:

  • 0:对象(苏黎世)
  • 1:对象(伦敦)
  • 2:对象(纽约)
  • 3:对象(项目)
    • 0:对象(虚拟)
    • 1:对象(Dummy2)

我怎样才能得到我的预期结果?

谢谢和欢呼.

Nin*_*olz 8

在旁边Array#concat,你可以使用Array#push.apply

var list1 = { Items: [{ ID: 1, Name: "Zurich" }, { ID: 2, Name: "London" }, { ID: 3, Name: "New York" }] },
    list2 = { Items: [{ ID: -1, Name: "Dummy" }, { ID: 0, Name: "Dummy2" }] };

[].push.apply(list1.Items, list2.Items);

console.log(list1);
Run Code Online (Sandbox Code Playgroud)