# 直接上代码..
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']
*/