久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

JS樹形結構根據id獲取父級節點元素的示例代碼

瀏覽:22日期:2022-06-09 17:41:59
目錄
  • 封裝函數
  • 調用函數

封裝函數

// 傳入 id、樹形結構數據
export function getParentTree(id, tree) {
  let arr = [] //要返回的數組
  for (let i = 0; i < tree.length; i++) {
    let item = tree[i]
    arr = []
    arr.push(item) //保存當前節點id
    if (id== item.id) {
      //判斷當前id是否是默認id
      return arr //是則退出循環、返回數據
    } else {
      //否則進入下面判斷,判斷當前節點是否有子節點數據
      if (item.children && item.children.length > 0) {
//合并子節點返回的數據
arr = arr.concat(getParentTree(id, item.children ? item.children : []))
console.log(arr)
if (arr.map(item2 => (item2 ? item2.id : "")).includes(id)) {
  //如果當前數據中已包含默認節點,則退出循環、返回數據
  return arr
}
      }
    }
  }

調用函數

const treeData = [{
  name: "1",
  id: 1,
  children: [{
    name: "1-1",
    id: 2,
    children: [{
      name: "1-1-1",
      id: 4,
    }],
    name: "1-2",
    id: 3,
    children: [{
      name: "1-2-1",
      id: 5,
    }],
  }]
},{
  name: "2",
  id: 6,
  children: [{
    name: "2-1",
    id: 7,
    children: [{
      name: "2-1-1",
      id: 9,
    }],
    name: "2-2",
    id: 8,
    children: [{
      name: "2-2-1",
      id: 10,
    }],
  }]
}]
console.log(getParentTree(5, treeData))

到此這篇關于JS樹形結構根據id獲取父級節點元素的文章就介紹到這了,更多相關js獲取父級節點元素內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: JavaScript
主站蜘蛛池模板: 恩施市| 华宁县| 松潘县| 开远市| 永春县| 彭水| 榆树市| 泸定县| 成都市| 铁岭县| 大洼县| 漳平市| 江都市| 菏泽市| 托克逊县| 军事| 大厂| 泰兴市| 芮城县| 许昌县| 师宗县| 海宁市| 望谟县| 灵石县| 鄄城县| 毕节市| 阿克| 韶山市| 温州市| 棋牌| 洪湖市| 汤阴县| 泾阳县| 喀喇沁旗| 察隅县| 鲜城| 德惠市| 张家港市| 东台市| 临泉县| 囊谦县|