const obj = {}
let arr = [
{
id: 20, // id
// pid: 5 // 父级id
},
{
id: 10, // id
pid: 5 // 父级id
},
{
id: 1,
pid: 2
},
{
id: 3,
pid: 4
},
{
id: 2,
pid: 3
},
{
id: 100,
pid: 5
},
{
id: 10099,
pid: 6
},
{
id: 1000,
pid: 100
}
]
arr.forEach((i, index) => {
i.index = index
obj[i.id] = i
})
arr.forEach((i, index) => {
if (i.pid) {
if (obj[i.pid]) {
let pitem = arr[obj[i.pid].index]
if (!pitem.c) pitem.c = []
pitem.c.push(i)
i.r = true
}
}
})
let newarr = arr.filter(i => !i.r)
console.log(newarr)
js 数组变成树结构
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 在编程的大多数情况下我们的需求都是将数组扁平化进行降维,但是确实有那么些情况是要我们将数组进行在分类,从而要...