# 直接上代码..


const pathList = [
      '/a/b',
      '/ab/2/c',
      '/d'
    ]
    const root = {}
    construct(pathList , root )
    console.log(root)
    function construct (pathList, root) {
        let arrTmp = []
          let len = pathList.length
    //     for(let i =0;i<len;i++){
    //       arrTmp[i] = pathList[i].split("/").join("").split("")
    //     }
        arrTmp = pathList.map(item=>item.split("/").filter(item=>item!==""))
        function arrToObj(obj,arr){
          let i = 0
          if(arr[i] &&!obj[arr[i]] && i<arr.length){
            obj[arr[i]] =  {}
            arrToObj(obj[arr[i]],arr.slice(i+1))
            i++
          }else if (arr[i] && obj[arr[i]]){
            arrToObj(obj[arr[i]],arr.slice(i+1))
            i++
          }
        }
        arrTmp.forEach(arr =>{
          arrToObj(root,arr)
        })
    }
    // /*
    // {
    //   "a": {
    //     "2": {
    //       "c": {}
    //     },
    //     "b": {}
    //   },
    //   "d": {}
    // }
    // */
    // let items = [
    // ['a', 'b', 'c', 'd', 'e'],
    // ['1', '2', '3', '4', '5'],
    // ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII']
    // ]
    // const config = [3, 1, 2]
    // console.log(ranking(items, config))
    // function ranking (items, config) {
    //   let theLeft  = []
    //   function s (items,config,theLeft){
    //     var flag = 0
    //   for(let i= 0;i<items.length;i++){
    //     if(items[i].length == 0) flag  = flag+1
    //   }  
    //   if (flag == items.length ) return theLeft
    //   for(let i = 0;i<items.length;i++){
    //     if(items[i].length==0){
    //   }else if(items[i].length <= config[i]){
    //     theLeft = theLeft.concat(items[i].splice(0,items.length))
    //   }else{
    //     theLeft = theLeft.concat(items[i].splice(0,config[i]))  
    //   }
    //   }
    //   return s(items, config,theLeft)
    //  }
    //   return s(items, config,theLeft)
    // }
    /*
    ['a', 'b', 'c', '1', 'I', 'II', 'd', 'e', '2', 'III', 'IV', '3', 'V', 'VI', '4', 'VII', '5']
    */