function parse(){ let origin = Array.prototype.slice.call(arguments) let translate = origin.map(t => deep(t)) function deep(arr){ let item = {} item.name = arr.pop() item.sub = arr.slice() if(item.sub.length === 1 || item.sub.length === 0) { return item } item.sub = [deep(arr)] } }