js 平级数据转树形结构,并加上序号
//平级数据转换成树形数据,并加上序号,1,1-1,1-2
//平级数据转换成树形数据
let ergodicTree = (
sourceArr,
id = 0,
number = '',
idField = props.tablePropData.tableData.listApi.resData.idField,
pidField = props.tablePropData.tableData.listApi.resData.pidField,
childrenName = 'children'
) => {
// 注意这里没有static,保存遍历的结果
let resultArr = []
let index = 1
for (let item of sourceArr) {
if (item[pidField] === id) {
item.number = number === '' ? index++ : number + '-' + index++;
const reslut = ergodicTree(sourceArr, item[idField], item.number)
if (reslut && reslut.length) {
// 先找到所有子分类作为一个值
item[childrenName] = reslut;
}
// 再将这个值追加到一个新数组中
resultArr.push(item)
}
}
return resultArr
}