国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js 樹形結(jié)構(gòu)根據(jù)id獲取父級節(jié)點元素

這篇具有很好參考價值的文章主要介紹了js 樹形結(jié)構(gòu)根據(jù)id獲取父級節(jié)點元素。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

封裝函數(shù)

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

調(diào)用函數(shù)

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))

文章來源地址http://www.zghlxwxcb.cn/news/detail-438748.html

到了這里,關(guān)于js 樹形結(jié)構(gòu)根據(jù)id獲取父級節(jié)點元素的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包