我必须对对象数组,例如:
https://plnkr.co/edit/RQs9WWs1hcxmuKGIgEhM?p=preview
我想将它们组合起来,以便如果数组元素未出现在第二组中,则将其带入,如果确实存在,则添加缺少的元素。
所以我想看的是:
[{"car":"A","miles":100},{"car":"B","miles":100},{"car":"C","miles":100,"sold":"Y"}]
[{"car":"B","miles":100,"sold":"Y"},{"car":"C","miles":100,"sold":"Y"}]
[{"car":"A","miles":100},{"car":"B","miles":100,"sold":"Y"},{"car":"C","miles":100,"sold":"Y"}]
注意“汽车A”仅存在于第一个数组中并被延续。
仅当对象匹配时,Angular的合并才有效。有没有一种优雅的方法来合并两个对象数组?我想我需要遍历数组并建立一个公共数组。如果为每个对象创建唯一的标识符,则使匹配更容易。
如果您愿意使用Lodash库(或下划线),它将使您的生活更加轻松(通常),它也可以与Angular一起使用。
您可以通过对Lodash执行以下操作来实现所需的功能:
_.values(_.extend(_.keyBy(a, 'car'), _.keyBy(b, 'car')));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句