拉风的咖菲猫
function f(datas, keys) { datas.forEach((item, i) => { keys.push(i + 1) item.key = keys.join('-') if (item.items) { f(item.items, keys) } keys.pop() }) return datas}console.log(f([ { name: 'name', label: '人事管理', items: [ { name: 'name', label: '员工管理', items: [ { name: 'name', label: '员工管理-0', items: [ { name: 'name', label: '员工管理-0-0', items: '', }, { name: 'name', label: '员工管理-0-1', items: '', }, ], }, { name: 'name', label: '员工管理-1', items: '', }, ], }, { name: 'name', label: '部门管理', items: [ { name: 'name', label: '部门管理1', items: '', }, { name: 'name', label: '部门管理2', items: '', }, ], }, { name: 'name', label: '职位管理', items: [ { name: 'name', label: '职位管理1', items: '', }, { name: 'name', label: '职位管理2', items: '', }, ], }, ], }, ], []))