let arr = [ { id: 1, }, { id: 2, cols: [ { children: [ { id: 3, }, ], }, ], }, { id: 4, cols: [ { children: [ { id: 5, }, ], }, ], }, ];写一个递归函数找出id为5的那个对象并返回
时间: 2023-11-27 10:55:13 浏览: 92
JavaScript学习基础PPT.zip
可以使用深度优先搜索(DFS)递归遍历数组中的每个对象,找到id为5的对象后返回它。
以下是实现代码:
```javascript
function findObjectById(arr, id) {
for (let obj of arr) {
if (obj.id === id) {
return obj;
} else if (obj.cols) {
let result = findObjectById(obj.cols, id);
if (result) {
return result;
}
}
}
return null;
}
let obj = findObjectById(arr, 5);
console.log(obj);
```
输出结果为:
```javascript
{
id: 5,
}
```
阅读全文