数组树查找项及其父项

Array tree find item and its parents

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

我想 select 某个节点(例如财务部)并仅将其及其父节点(全球财务、财务和公司名称,这不是问题,因为它是静态根节点)。

我正在使用 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": []
        }
}];

没关系,我使用了另一个名为 tree-model-js 的库,它允许我遍历树、获取父节点和许多其他功能。这给了我我所需要的一切。

曼纽尔