let testData = [
    {
      groupId: 1,
      name: 1,
      parentId: ''
    },
    {
      groupId: 2,
      name: 2,
      parentId: ''
    },{
      groupId: 3,
      name: 3,
      parentId: ''
    },{
      groupId: 4,
      name: 1.4,
      parentId: 1
    },
    {
      groupId: 5,
      name: 1.5,
      parentId: 1
    },
    {
      groupId: 6,
      name: 1.6,
      parentId: 1
    },
    {
      groupId: 7,
      name: 6.7,
      parentId: 6
    },
    {
      groupId: 8,
      name: 6.8,
      parentId: 6
    },
    {
      groupId: 9,
      name: 2.9,
      parentId: 2
    },
    {
      groupId: 10,
      name: 2.10,
      parentId: 2
    }
  ];
function arrayToTree(array,oneLevelId='',fieldKey,parentKey){
    // 数组转tree
    function loop(_arr,parentId){
      return _arr.reduce((acc,cur,ind,arr)=>{
        if(cur[parentKey] === parentId){
          acc.push(cur);
          cur.children = loop(arr,cur['fieldKey']);
        }
        return acc;
      },[]);
    }
    return loop(array,oneLevelId);
  }

function test(){
    arrayToTree(testData);// array [{…}, {…}, {…}]
}