减少角度对象的复杂公共数据

时间:2016-05-26 16:18:09

标签: angularjs angular-ui-grid

我有那些对象,例如[object1,object2,object3] 每个对象都是角度为ui-grid中选定行的一行。

当然我可以在每个选择中更新,这样我就可以获得每次点击1个对象或每个事件点击中的所有选定值。这并不重要。

object1包含2个数组,我需要每个对象的users数组 object1-> users array = 0 -name = dani,1- name = John

对象2-> users-> 0:名称:dani,1:name:Victor,2:name:vika

object3-> users-> 0:name:cris 1:name:Luke,2:name:vika

我还有一个需要根据这些对象更新的公共数组(选择框)

$ scope.arr = Macel,kiko,dani,vika,Victor,John,cris,Luke

我需要一个可以减少普通用户的新阵列 所以新阵列将是:Marcel,kiko

new array = [Macel,kiko]

并在选择框中填充新数组 因为Marcel和kiko没有出现在用户对象中

在角度方面做到这一点的有效方法是什么,我已经尝试了3个嵌套的foreach但是效率不高

非常感谢

1 个答案:

答案 0 :(得分:0)

Javascript提供了一些强大的功能来处理数组。

您可以使用filter()根据条件减少数据集 您应该使用map()来转换数组对象。

Map()和filter()可以链接,以有效的方式实现您的目标 它使代码更具可读性。

此处有更多详情:

Javascript functional programming
Useful Javascript functions

http://eloquentjavascript.net/1st_edition/chapter6.html