使ng中的两个对象重复混合/合并



我有两个对象,例如:

[
  {
    "some": "thing",
    "lol": "asd",
    "rotfl": "id321ddk",
    "hello": "world000"
  },
  {
    "some": "thing2",
    "lol": "asd2",
    "rotfl": "oddddk2",
    "hello": "wwwworld2"
  },
  {
    "some": "thing3",
    "lol": "asd3",
    "rotfl": "idkkk3",
    "hello": "worldd"
  }
]

^第一个:现在是第二个:

[
  {
    "id": 1,
    "img": "link",
    "name": "idk"
  },
  {
    "id": 2,
    "img": "link2",
    "name": "asdette"
  }
]

正如你所看到的,它们非常不同,每样东西都有长度。我需要做这样的事情:

[
  {
    "some": "thing",
    "lol": "asd",
    "rotfl": "id321ddk",
    "hello": "world000",
    "id": 1,
    "img": "link",
    "name": "idk"
  },
  {
    "some": "thing2",
    "lol": "asd2",
    "rotfl": "oddddk2",
    "hello": "wwwworld2",
    "id": 2,
    "img": "link2",
    "name": "asdette"
  },
  {
    "some": "thing3",
    "lol": "asd3",
    "rotfl": "idkkk3",
    "hello": "worldd"
  }
]

所以我想在第一个数组中添加第二个。但是如果第二个数组已经"完成",那么停止添加它

我们也可以没有"id"字段,这并不重要

在angularJS中,这种方式在某种程度上可能吗?我用的是角和离子。谢谢

这就是您想要实现的目标吗?

var arr1 = [
  {
    "some": "thing",
    "lol": "asd",
    "rotfl": "id321ddk",
    "hello": "world000"
  },
  {
    "some": "thing2",
    "lol": "asd2",
    "rotfl": "oddddk2",
    "hello": "wwwworld2"
  },
  {
    "some": "thing3",
    "lol": "asd3",
    "rotfl": "idkkk3",
    "hello": "worldd"
  }
];
    var arr2 = [
  {
    "id": 1,
    "img": "link",
    "name": "idk"
  },
  {
    "id": 2,
    "img": "link2",
    "name": "asdette"
  }
];
//Assuming arr2.length <= arr1.length
for (var i = 0; i < arr2.length; i++) {
  angular.extend(arr1[i], arr2[i]);
}
console.log(arr1);

最新更新