let input = [  {id: 1, val: '学校', parentId: null},  {id: 2, val: '班级1', parentId: 1},  {id: 3, val: '班级2', parentId: 1},  {id: 4, val: '学生1', parentId: 2},  {id: 5, val: '学生2', parentId: 3},];let output = {    id: 1,  val: '学校',  parentId: null,  children: [      {          id: 2,             val: '班级1'        }  ]}function arrayToTree(array) {    let root = array[0];  array.shift();  let tree = {      id: root.id,    val: root.val,    children: array.length ? toTree(root.id, array) : []  };    return tree;}function toTree(parentId, array) {    let children = [];  let len = array.length;  for (let i = 0; i < len; i++) {      let node = array[i];    if (node.parentId === parentId) {        children.push({          id: node.id,        val: node.val,        children: toTree(node.id, array)      })    }  }  return children;}console.log(arrayToTree(input))