【问题标题】:have two objects in ng-repeat mixed/merged在 ng-repeat 混合/合并中有两个对象
【发布时间】:2015-02-12 00:13:21
【问题描述】:

我有两个对象,例如:

[
  {
    "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 中以某种方式可能吗? 我正在使用角度和离子。 谢谢!

【问题讨论】:

  • 你想通过什么合并?通过相同的索引?听起来很糟糕。
  • 第一个元素的第 n 个元素与第二个元素的第 n 个元素。如果第二个没有更多元素,它会停止添加,因为没有什么可以添加到第一个:) (或者如果它更容易它可以重复,所以如果第一个比第二个长,你可以重新添加第二个到第一个从第二个的第一个元素与第一个的第 n 个元素重新开始)。希望没事!

标签: arrays angularjs merge angularjs-ng-repeat ng-repeat


【解决方案1】:

这是你想要达到的目标吗?

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);

【讨论】:

  • Assuming arr2.length &gt;= arr1.length -> 恰恰相反,arr1.length &gt;= arr..length
  • @LudovicoLoreti 是的,更新了评论,但代码保持不变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
  • 2017-06-11
  • 2013-01-28
  • 2014-11-29
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
相关资源
最近更新 更多