数组树查找项及其父项

时间:2015-07-13 19:46:46

标签: javascript angularjs tree angularjs-filter angular-ui-tree

我有一个代表组的数组,如下所示:

  • 公司名称
  • IT
  • 金融
    • 全球金融
      • 财务部门
    • Tax and Co.。

我想选择一个特定的节点(比如财务部门),只为它和它的父母分配一个新的数组(Global Finance,Finance和Company name,这不是问题,因为它是静态的根节点)。

我正在使用angularjs(angular-ui-tree和angular-ui-tree-filter,如果有帮助的话),可以使用jquery,第三方库等。

有没有简单的方法来实现这一目标?我想在这里问,而不是花时间做一些可能已经做过的事情。

数组示例:

$scope.groups = [{
        "id": 1,
        "title": "Company Name",
        "selected": "",
        "enabled": "",
        "CampaignId": "string",
        "TenantId": "string",
        "CompanyId": "string",
        "items": [{
            "id": 2,
            "title": "Board of Directors",
            "selected": "",
            "enabled": "",
            "CampaignId": "string",
            "TenantId": "string",
            "CompanyId": "string",
            "items": []
        }, {
            "id": 3,
            "title": "Finance",
            "selected": "",
            "enabled": "",
            "CampaignId": "string",
            "TenantId": "string",
            "CompanyId": "string",
            "items": [{
                "id": 4,
                "title": "Global Finance",
                "selected": "",
                "enabled": "",
                "CampaignId": "string",
                "TenantId": "string",
                "CompanyId": "string",
                "items": [{
                    "id": 5,
                    "title": "Financial department",
                    "selected": "",
                    "enabled": "",
                    "CampaignId": "string",
                    "TenantId": "string",
                    "CompanyId": "string",
                    "items": []
                }, {
                    "id": 6,
                    "title": "Region Asia Pacific",
                    "selected": "",
                    "enabled": "",
                    "CampaignId": "string",
                    "TenantId": "string",
                    "CompanyId": "string",
                    "items": []
                }]
            }, {
                "id": 7,
                "title": "Tax & Co.",
                "selected": "",
                "enabled": "",
                "CampaignId": "string",
                "TenantId": "string",
                "CompanyId": "string",
                "items": []
            }]
        }, {
            "id": 8,
            "title": "Sales",
            "selected": "",
            "enabled": "",
            "CampaignId": "string",
            "TenantId": "string",
            "CompanyId": "string",
            "items": []
        }, {
            "id": 9,
            "title": "Manufacturing",
            "selected": "",
            "enabled": "",
            "CampaignId": "string",
            "TenantId": "string",
            "CompanyId": "string",
            "items": []
        }
}];

1 个答案:

答案 0 :(得分:0)

没关系,我使用了另一个名为tree-model-js的库,它允许我遍历一棵树,获得父母以及许多其他功能。这给了我所需要的一切。

曼努埃尔