現(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)步~~
參考一下
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
}, [])