js之列表转为树结构
js之列表转为树结构
原理:
list.reduce
方法:
children:子级数组名称
id:数据id
parentid:父级id字段名称
如果列表中字段名称不一致,需要修改方法中的这三个参数名。
list:列表数据
rootvalue:父元素id字段第一级的默认值,一般为0或者null。根据数据传入。
// 将列表转为树
tranListToTreeData(list, rootvalue) {
return list.reduce((prev, curr, index, arr) => {
const ele = arr.filter(item => item.parentid === curr.id)
// debugger
if (ele.length) {
curr.children = ele
}
if (curr.parentid === rootvalue) {
prev.push(curr)
}
return prev
}, [])
},
调用:
let treeData = this.tranListToTreeData(treeData, 0)
钻研不易,转载注明出处。。。。。。

浙公网安备 33010602011771号