【发布时间】:2021-02-17 17:27:59
【问题描述】:
我的代码就是这样。起初它是工作..不是更多
function HA7(arr, id) {
for (let i = 0; i < arr.length; i++) {
if(arr[i]['id']=== id) {
return arr[i]
}
else if(arr[i]=== undefined && arr[i][id] === id ) {
return arr[i][id]
}
else if(arr[i][id] === undefined){
return null ;
}
return HA7(arr[i],id)
}
}
我想通过递归函数继续工作.. 但是一旦 agian 只返回 null。 (我想捕获 case id 值为 null 或 arr 未定义)
// example code.
let arr = [
{
id: 1,
name: 'johnny',
},
{
id: 2,
name: 'ingi',
children: [
{
id: 3,
name: 'johnson',
},
{
id: 5,
name: 'steve',
children: [
{
id: 6,
name: 'lisa',
},
],
},
{
id: 11,
},
],
},
{
id: '13',
},
];
let output = HA7(arr, 1);
console.log(output); // --> { id: 1, name: 'johnny' }
output = HA7(arr, 5);
console.log(output); // --> { id: 5, name: 'steve', children: [{ id: 6, name: 'lisa' }] }
output = HA7(arr, 99);
console.log(output); // --> null
我应该如何修复它?请告诉我一些提示..
【问题讨论】:
标签: javascript recursion