后台返回的数据是这样的
渲染到页面也就成这样了
很明显是不对的,结果应该是这样
const result = [] //定义空数组作为结果
const map = demo.reduce((pre, cur) => {
pre[cur.zzlx] = cur.zzlx //将原始数组转换成对象 (用于判断是否有children属性)
return pre
}, {})
for (let i in map) {
result.push({
time: map[i]
})
}
for (let key in demo) {
//第一级数据,直接加入到结果数组中
for (let j = 0; j < result.length; j++) {
if (demo[key]["zzlx"] == result[j]["time"]) {
//判断是否为子级数据
result[j]["children"] = result[j]["children"] || []
result[j]["children"].push(demo[key])
}
}
}
demo是我原来的数据,zzlx,time根据自己的数据进行更改
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)