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

                }