SOURCE

//tree找爸爸
let teerData =[
    {
        "code": "",
        "name": "监控区域",
        "id": "a20e8ac3e4a54dcc94178d7d59a87acb",
        "sort": 100,
        "parent_ids": "0,",
        "parentId": "0",
        "title": "监控区域",
        "key": "a20e8ac3e4a54dcc94178d7d59a87acb",
        "children": [
            {
                "code": "4801102",
                "name": "低点枪机",
                "id": "1286f1b8f60f4bf283eecc6aadc1b51d",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "低点枪机",
                "key": "1286f1b8f60f4bf283eecc6aadc1b51d",
                "children": [
                    {
                        "title": "东北角朝南28.21",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "8efb9a9c40d74a1498dba03e769b7935",
                        "key": "8efb9a9c40d74a1498dba03e769b7935",
                        "id": "8efb9a9c40d74a1498dba03e769b7935",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "东北角朝西28.22",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "89abd4d82a8c46df8a355a9dc66f7040",
                        "key": "89abd4d82a8c46df8a355a9dc66f7040",
                        "id": "89abd4d82a8c46df8a355a9dc66f7040",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "产品部12.8",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "23bdb2b9455040f7a1a4b0e967ad30fd",
                        "key": "23bdb2b9455040f7a1a4b0e967ad30fd",
                        "id": "23bdb2b9455040f7a1a4b0e967ad30fd",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "会议室12.2",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "bddec760b3f94c429b008dddc65602c2",
                        "key": "bddec760b3f94c429b008dddc65602c2",
                        "id": "bddec760b3f94c429b008dddc65602c2",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "展厅12.3",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "b1e6170a4b044718927573e2e8007bd3",
                        "key": "b1e6170a4b044718927573e2e8007bd3",
                        "id": "b1e6170a4b044718927573e2e8007bd3",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "核研院内12.5",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "74440769267b48d38a696a78d3373ce1",
                        "key": "74440769267b48d38a696a78d3373ce1",
                        "id": "74440769267b48d38a696a78d3373ce1",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "活动室12.6",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "cd582a6a23d949c18f48d825b51dffe1",
                        "key": "cd582a6a23d949c18f48d825b51dffe1",
                        "id": "cd582a6a23d949c18f48d825b51dffe1",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "测试组12.9",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "c863617f1554457f943c2f30184b56f9",
                        "key": "c863617f1554457f943c2f30184b56f9",
                        "id": "c863617f1554457f943c2f30184b56f9",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "海康28.27",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "93739b72a8dd46b9b6acc3d9476b8253",
                        "key": "93739b72a8dd46b9b6acc3d9476b8253",
                        "id": "93739b72a8dd46b9b6acc3d9476b8253",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "研发一部12.13",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "6617ab2ac3644c7593f9f1d80de7356e",
                        "key": "6617ab2ac3644c7593f9f1d80de7356e",
                        "id": "6617ab2ac3644c7593f9f1d80de7356e",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "研发二部12.4",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "2ee820680b524e52938b792e852e4597",
                        "key": "2ee820680b524e52938b792e852e4597",
                        "id": "2ee820680b524e52938b792e852e4597",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "系统集成部12.7",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "2d2a89f6fa99480faa63775e7f72a219",
                        "key": "2d2a89f6fa99480faa63775e7f72a219",
                        "id": "2d2a89f6fa99480faa63775e7f72a219",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "茶水间12.12",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "83d48bc5e70c40dfaacb7437f574968a",
                        "key": "83d48bc5e70c40dfaacb7437f574968a",
                        "id": "83d48bc5e70c40dfaacb7437f574968a",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "西南角朝东28.24",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "c49438602fd74f6095a83f00ed5917d3",
                        "key": "c49438602fd74f6095a83f00ed5917d3",
                        "id": "c49438602fd74f6095a83f00ed5917d3",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "西南角朝北28.23",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "26e070c7f90f4ef4854056b9c8dcf948",
                        "key": "26e070c7f90f4ef4854056b9c8dcf948",
                        "id": "26e070c7f90f4ef4854056b9c8dcf948",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    },
                    {
                        "title": "领导办公室12.11",
                        "RegionID": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "ChannelID": "3210b0fa735247a0b207ad3237a495ca",
                        "key": "3210b0fa735247a0b207ad3237a495ca",
                        "id": "3210b0fa735247a0b207ad3237a495ca",
                        "parentId": "1286f1b8f60f4bf283eecc6aadc1b51d",
                        "children": []
                    }
                ]
            },
            {
                "code": "4801106",
                "name": "倾斜摄影",
                "id": "dbd77d09ab244fcdba6177ec82798821",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "倾斜摄影",
                "key": "dbd77d09ab244fcdba6177ec82798821",
                "children": [
                    {
                        "title": "天鹅湖",
                        "RegionID": "dbd77d09ab244fcdba6177ec82798821",
                        "ChannelID": "df40dd86308e46848ad8962a53de31b7",
                        "id": "df40dd86308e46848ad8962a53de31b7",
                        "key": "df40dd86308e46848ad8962a53de31b7",
                        "parentId": "dbd77d09ab244fcdba6177ec82798821",
                        "children": []
                    }
                ]
            },
            {
                "code": "4801105",
                "name": "全景VR",
                "id": "f8cc3d3048ca48059189019a27d675ee",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "全景VR",
                "key": "f8cc3d3048ca48059189019a27d675ee",
                "children": [
                    {
                        "title": "全景VR通道-01",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "73692fde887f4f329cab9af143fbed16",
                        "id": "73692fde887f4f329cab9af143fbed16",
                        "key": "73692fde887f4f329cab9af143fbed16",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-02",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "324a669b89a4436a8c8c695a28d2425e",
                        "id": "324a669b89a4436a8c8c695a28d2425e",
                        "key": "324a669b89a4436a8c8c695a28d2425e",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-03",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "7404a95683724398bc9697bc7b1e24d0",
                        "id": "7404a95683724398bc9697bc7b1e24d0",
                        "key": "7404a95683724398bc9697bc7b1e24d0",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-04",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "2021ee5c0d3b4cf9a1b9ee0d7718569b",
                        "id": "2021ee5c0d3b4cf9a1b9ee0d7718569b",
                        "key": "2021ee5c0d3b4cf9a1b9ee0d7718569b",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-05",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "e6a8332540694341ac4fb57cd941ebbc",
                        "id": "e6a8332540694341ac4fb57cd941ebbc",
                        "key": "e6a8332540694341ac4fb57cd941ebbc",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-06",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "ffc89ebc47164a66b5fc06b64699a56f",
                        "id": "ffc89ebc47164a66b5fc06b64699a56f",
                        "key": "ffc89ebc47164a66b5fc06b64699a56f",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    },
                    {
                        "title": "全景VR通道-07",
                        "RegionID": "f8cc3d3048ca48059189019a27d675ee",
                        "ChannelID": "4c37c0ea8d2b47b092f095d04effc0af",
                        "id": "4c37c0ea8d2b47b092f095d04effc0af",
                        "key": "4c37c0ea8d2b47b092f095d04effc0af",
                        "parentId": "f8cc3d3048ca48059189019a27d675ee",
                        "children": []
                    }
                ]
            },
            {
                "code": "4801104",
                "name": "区域NVR",
                "id": "15e1164016214dada8470d4da05c7c83",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "区域NVR",
                "key": "15e1164016214dada8470d4da05c7c83",
                "children": []
            },
            {
                "code": "4801103",
                "name": "海康人脸",
                "id": "a05bca905d3a42cca43471658179c2e9",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "海康人脸",
                "key": "a05bca905d3a42cca43471658179c2e9",
                "children": [
                    {
                        "title": "公司门口人脸12.27",
                        "RegionID": "a05bca905d3a42cca43471658179c2e9",
                        "ChannelID": "59462100cde647c8a0f04190f8d5a115",
                        "key": "59462100cde647c8a0f04190f8d5a115",
                        "id": "59462100cde647c8a0f04190f8d5a115",
                        "parentId": "a05bca905d3a42cca43471658179c2e9",
                        "children": []
                    },
                    {
                        "title": "展厅门口人脸12.30",
                        "RegionID": "a05bca905d3a42cca43471658179c2e9",
                        "ChannelID": "d456986522a24b6fab29f99499f6b50b",
                        "key": "d456986522a24b6fab29f99499f6b50b",
                        "id": "d456986522a24b6fab29f99499f6b50b",
                        "parentId": "a05bca905d3a42cca43471658179c2e9",
                        "children": []
                    },
                    {
                        "title": "测试区人脸58.251",
                        "RegionID": "a05bca905d3a42cca43471658179c2e9",
                        "ChannelID": "621455b297a5470ea2d5a2c465699b52",
                        "key": "621455b297a5470ea2d5a2c465699b52",
                        "id": "621455b297a5470ea2d5a2c465699b52",
                        "parentId": "a05bca905d3a42cca43471658179c2e9",
                        "children": []
                    }
                ]
            },
            {
                "code": "4801101",
                "name": "高点全景",
                "id": "2bacf588947f4a29abdd8e9c4fda1a2b",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "高点全景",
                "key": "2bacf588947f4a29abdd8e9c4fda1a2b",
                "children": [
                    {
                        "title": "大华全景拼接18.201",
                        "RegionID": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "ChannelID": "d6b1aa1c980b486bac02337c27cfab4d",
                        "id": "d6b1aa1c980b486bac02337c27cfab4d",
                        "key": "d6b1aa1c980b486bac02337c27cfab4d",
                        "parentId": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "children": []
                    },
                    {
                        "title": "大华全景球机18.201",
                        "RegionID": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "ChannelID": "cd1e5c4acc86437a89b9d91776812fa6",
                        "id": "cd1e5c4acc86437a89b9d91776812fa6",
                        "key": "cd1e5c4acc86437a89b9d91776812fa6",
                        "parentId": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "children": []
                    },
                    {
                        "title": "海康全景拼接28.128",
                        "RegionID": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "ChannelID": "7d576bbf7e95422987c9d28ececc5b95",
                        "id": "7d576bbf7e95422987c9d28ececc5b95",
                        "key": "7d576bbf7e95422987c9d28ececc5b95",
                        "parentId": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "children": []
                    },
                    {
                        "title": "海康全景球机28.128",
                        "RegionID": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "ChannelID": "9ae482848a514a20aacb2d4c882acd78",
                        "id": "9ae482848a514a20aacb2d4c882acd78",
                        "key": "9ae482848a514a20aacb2d4c882acd78",
                        "parentId": "2bacf588947f4a29abdd8e9c4fda1a2b",
                        "children": []
                    }
                ]
            },
            {
                "code": "4801100",
                "name": "高点球机",
                "id": "992984199da1489390174615fa6a9bc4",
                "sort": 100,
                "parent_ids": "0,a20e8ac3e4a54dcc94178d7d59a87acb,",
                "parentId": "a20e8ac3e4a54dcc94178d7d59a87acb",
                "title": "高点球机",
                "key": "992984199da1489390174615fa6a9bc4",
                "children": [
                    {
                        "title": "华为_18.202_AR球机(室内)",
                        "RegionID": "992984199da1489390174615fa6a9bc4",
                        "ChannelID": "f4aeb2bccf6d44389ec29f8beb5a3a40",
                        "id": "f4aeb2bccf6d44389ec29f8beb5a3a40",
                        "key": "f4aeb2bccf6d44389ec29f8beb5a3a40",
                        "parentId": "992984199da1489390174615fa6a9bc4",
                        "children": []
                    },
                    {
                        "title": "大华18.215",
                        "RegionID": "992984199da1489390174615fa6a9bc4",
                        "ChannelID": "760dc07f29534f18afc29d8409b4540c",
                        "id": "760dc07f29534f18afc29d8409b4540c",
                        "key": "760dc07f29534f18afc29d8409b4540c",
                        "parentId": "992984199da1489390174615fa6a9bc4",
                        "children": []
                    },
                    {
                        "title": "海康外景球机28.136",
                        "RegionID": "992984199da1489390174615fa6a9bc4",
                        "ChannelID": "2582ef9c54c3480ebbfe1307536fbb6f",
                        "id": "2582ef9c54c3480ebbfe1307536fbb6f",
                        "key": "2582ef9c54c3480ebbfe1307536fbb6f",
                        "parentId": "992984199da1489390174615fa6a9bc4",
                        "children": []
                    }
                ]
            }
        ]
    }
]


let arrSelect =
  //[
  //     "2bacf588947f4a29abdd8e9c4fda1a2b",
  //     "a20e8ac3e4a54dcc94178d7d59a87acb",
  //     "d6b1aa1c980b486bac02337c27cfab4d",
  //     "df40dd86308e46848ad8962a53de31b7",
  //     "dbd77d09ab244fcdba6177ec82798821"
  // ]
  ['df40dd86308e46848ad8962a53de31b7', 'd6b1aa1c980b486bac02337c27cfab4d']

let arrSelectPid = []
let a = getAllPid()
// console.log(  listToTree(arr, [], 0), 'listToTree')

function getAllPid() {
  let res = []
  for (let index = 0; index < arrSelect.length; index++) {
    res.push(getAllAncestorIds(teerData, arrSelect[index]))
  }
  return res
}

console.log(a, 'arrSelect')

// 递归获取所有祖先ID
function getAllAncestorIds(
  subjectList,
  currentSId,
  key = 'id',
  parentId = 'parentId'
) {
  let allSId = [] // 递归找出父节点
  let getAncestorsItem = (list, childId) => {
    list.map(item => {
      if (item[key] == childId) {
        allSId.push(item[parentId])

        getAncestorsItem(subjectList, item[parentId])
      } else {
        if (item.children && item.children.length > 0) {
          getAncestorsItem(item.children, childId)
        }
      }
    })
  }

  getAncestorsItem(subjectList, currentSId)

  return allSId
}
console 命令行工具 X clear

                    
>
console