js中現有一樹形結構數據,如何獲取某一節點的父節點,節點只有children屬性,沒有parent屬性

可以通過遍歷整個樹形結構來獲取某一節點的父節點,具體實現方式如下:


function findParentNode(node, target) {
  if (node.children) {
    for (let i = 0; i < node.children.length; i++) {
      if (node.children[i] === target) {
        return node;
      } else {
        const parentNode = findParentNode(node.children[i], target);
        if (parentNode) {
          return parentNode;
        }
      }
    }
  }
}
// 示例數據
const treeData = {
  value: 1,
  children: [
    {
      value: 2,
      children: [
        {
          value: 3,
          children: []
        }
      ]
    },
    {
      value: 4,
      children: []
    }
  ]
}
// 獲取節點3的父節點
const targetNode = treeData.children[0].children[0];
const parentNode = findParentNode(treeData, targetNode);
console.log(parentNode); // 輸出節點2

上述代碼中,findParentNode函數遞歸遍歷整個樹形結構,查找是否有與目標節點相等的子節點,如果找到了,就返回父節點;如果沒有找到,則遞歸查找該節點的子節點,直到找到為止。在實際應用中,可以根據需求對該代碼進行優化和改進。

主站蜘蛛池模板: 国产精品福利一区| 精品福利一区二区三区免费视频 | 91一区二区三区| 精品久久国产一区二区三区香蕉| 国产精品自在拍一区二区不卡| 亚洲色无码一区二区三区| 无码av免费一区二区三区试看| 亚洲香蕉久久一区二区 | 亚洲国产精品一区二区第一页免| 亚洲日本一区二区三区在线| 秋霞无码一区二区| 美日韩一区二区三区| 一区二区三区伦理高清| 日韩精品无码中文字幕一区二区| 国产成人精品一区二区A片带套 | 国精产品一区二区三区糖心| 91福利一区二区| 日本一区二区三区在线网| 免费精品一区二区三区第35| 无码福利一区二区三区| 国产不卡视频一区二区三区| 亚洲无人区一区二区三区| 亚洲欧美成人一区二区三区| 日韩视频一区二区| 国产91精品一区二区麻豆亚洲| 精品亚洲AV无码一区二区三区 | 国产精品视频分类一区| 日韩精品一区二区午夜成人版 | 国产成人亚洲综合一区| 精品国产一区二区三区AV性色| 亚洲一区二区中文| 亚洲国产精品一区二区第一页免| 亚洲AV无码一区二区三区DV| 国产在线一区二区三区在线| 亚洲综合一区二区国产精品| 一区二区在线视频观看| 国产精品香蕉在线一区| 国模私拍一区二区三区| 国产精品日韩一区二区三区 | 亚洲AV无码一区二区一二区| 中文字幕在线无码一区|