// 请问如何实现函数 getNextActiveId 这个函数
const list = [
{
id: "A",
detail: [
{
id: "A_a",
},
{
id: "A_b",
},
],
},
{
id: "B",
detail: [
{
id: "B_a",
},
],
},
{
id: "C",
detail: [],
},
];
// 初始值,list第一个索引
let activeId = "0";
function getNextActiveId(activeId){
}
console.log(getNextActiveId(activeId)); // 第一次执行,返回 '0_0'
activeId=getNextActiveId(activeId);
console.log(getNextActiveId(activeId)); // 第二次执行,返回 '0_1'
activeId=getNextActiveId(activeId);
console.log(getNextActiveId(activeId)); // 第三次执行,返回 '1'
activeId=getNextActiveId(activeId);
console.log(getNextActiveId(activeId)); // 第四次执行,返回 '1_0'
activeId=getNextActiveId(activeId);
console.log(getNextActiveId(activeId)); // 第五次执行,返回 '2'
activeId=getNextActiveId(activeId);
从结果来看,是树形的深度递归,需要使用递归函数,具体过程看代码中的注释。建议阅读:使用递归遍历并转换树形数据(以 TypeScript 为例)
输出