亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

javascript - js寫(xiě)一個(gè)遞歸把資料結(jié)構(gòu)重組成另外的結(jié)構(gòu)
天蓬老師
天蓬老師 2017-06-28 09:27:56
0
3
1081

現(xiàn)在有以下資料結(jié)構(gòu):

[{
    id: 1,
    pid: 0,
    name: "年級(jí)"
}, {
    id: 2,
    pid: 1,
    name: "一年級(jí)"
}, {
    id: 3,
    pid: 1,
    name: "二年級(jí)"
}, {
    id: 4,
    pid: 0,
    name: "專業(yè)"
}, {
    id: 5,
    pid: 4,
    name: "單片機(jī)開(kāi)發(fā)"
}]

寫(xiě)一個(gè)JS方法,將其轉(zhuǎn)換成以下格式資料:

[{
    id: 1,
    pid: 0,
    name: "年級(jí)",
    children: [{
        id: 2,
        pid: 1,
        name: "一年級(jí)"
    }, {
        id: 3,
        pid: 1,
        name: "二年級(jí)"
    }]
}, {
    id: 4,
    pid: 0,
    name: "專業(yè)",
    children: [{
        id: 5,
        pid: 4,
        name: "單片機(jī)開(kāi)發(fā)"
    }]
}]
天蓬老師
天蓬老師

歡迎選擇我的課程,讓我們一起見(jiàn)證您的進(jìn)步~~

全部回覆(3)
Ty80

雷雷

學(xué)習(xí)ing

雷雷

某草草

參考一下

var sortedData = data.reduce((result, item) => {
  result[item.id] = Object.assign({}, item)
  return result
}, [])

var result = sortedData.reduce((result, item) => {
  if (item.pid === 0) {
    result.push(item)
  } else {
    if (sortedData[item.pid].children) {
      sortedData[item.pid].children.push(item)
    } else {
      sortedData[item.pid].children = [item]
    }
  }
  return result
}, [])
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板