const data = [
{
label: '1',
children: [
{
label: '1-1',
children: [
{
label: '1-1-1'
},
{
label: '1-1-2'
}
]
},
{
label: '1-2',
children: [
{
label: '1-2-1'
},
{
label: '1-2-2'
}
]
}
]
},
{
label: '1',
children: [
{
label: '1-1',
children: [
{
label: '1-1-1'
},
{
label: '1-1-2'
}
]
},
{
label: '1-2',
children: [
{
label: '1-2-1'
},
{
label: '1-2-2'
}
]
}
]
}
]
/**
* @function 获取嵌套数据的指定层级的数据
* @param data 嵌套数据
* @level 获取多少层
* @flag 当前递归到那一层
* @return 返回指定层级的数据
*/
function getLevelData(data, level, currentLevel) {
if (level < currentLevel) return []
data.forEach(item => {
// 遍历到指定层级
let cur = currentLevel
item.level = cur
if (cur >= level) {
delete item.children
} else {
getLevelData(item.children, level, ++cur)
}
})
}
// 只需要第二个参数,输入我们想要的层级即可,返回指定层级的数据
getLevelData(data, 1, 1)
console.log(data);
console