如何根据javascript中的相同键对列表中的公共元素进行分组

时间:2016-12-17 16:28:03

标签: javascript angularjs

我有以下数据

表标题:名称,类型,版本,检查

        [["FoxService","XML","1.0",null],
        ["JsonRest","JSON","1.0",null],
        ["JsonTest","JSON","1.0",null],
        ["JsonTest","JSON","2.0",null],
        ["RDBMSIntegration","Database","1.0",null],
        ["SalesforceService","None","1.0",null],
        ["SAPIntegration","JSON","1.0",null],
        ["SAPIntegration","JSON","2.0",null],
        ["SAPIntegration","JSON","3.0",null],
        ["SFTest","XML","1.0",null]]

我从hibernate(从DB)到angularjs,但无法在UI中显示,因为我需要在列表框中显示版本。如果数据采用以下格式,我无法映射到ng-rpeate或ng-options。

        [["FoxService","XML",[1.0],null],
        ["JsonRest","JSON",[1.0],null],
        ["JsonTest","JSON",[1.0,2.0],null],
        ["RDBMSIntegration","Database",[1.0],null],
        ["SalesforceService","None",[1.0],null],
        ["SAPIntegration","JSON",[1.0,2.0,3.0],null],
        ["SFTest","XML",[1.0],null]         ]

我可以轻松地在UI上显示,但我已尝试使用group_concat和其他一些东西,但所有的东西都是DB specfic,我没有得到任何适用于所有DB的解决方案。如果我多次尝试angularjs,我需要迭代数组以制作所需的格式。 希望我解释得很好。 有人可以帮助我找到更好的解决方案。 它可以是任何SQL查询或Hibernate或angularjs或普通JS或java(最后一个选项)..

谢谢

1 个答案:

答案 0 :(得分:0)

在ng-repeat中很难进行数组迭代。另外,如果我们迭代,你如何在没有任何键的情况下绑定数据。

将数组转换为对象,然后在ng-repeat中尝试。