猿问

树状数组取出ID为3的项,方法越简单越好,求解

const floor = [
  {
    id: 1,
    text: '一层',
    children: [
      {
        id: 2,
        text: '二层',
        children: [
          {
            id: 3,
            text: '三层',
            children: [
              {
                id: 4,
                text: '四层'
              }
            ]
          }
        ]
      }
    ]
  }];


繁花不似锦
浏览 621回答 2
2回答

白猪掌柜的

let result = null;const findItemById = (id, list = floor) => {   list.some(e => {      if (e.id === id) {           result = e;          return true;       } else {          if (e.children) {             result = findItemById(id, e.children);            if (result) {              return true;             } else {              return false;             }           }       }   })  return result; }console.log(findItemById(3))

凤凰求蛊

看数据很有规律偷个懒&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getId(id,&nbsp;obj&nbsp;=&nbsp;floor)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(let&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;<&nbsp;id;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj&nbsp;=&nbsp;obj[0]["children"] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;obj[0] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(getId(3))
随时随地看视频慕课网APP

相关分类

Html5
我要回答