js一个多维数组里面查找id
时间: 2024-05-09 22:19:34 浏览: 149
你可以使用递归来查找多维数组中的id。以下是一个例子:
```js
function findId(arr, id) {
for (let i = 0; i < arr.length; i++) {
if (arr[i].id === id) {
return arr[i];
}
if (Array.isArray(arr[i].children)) {
const result = findId(arr[i].children, id);
if (result) {
return result;
}
}
}
return null;
}
```
在这个函数中,我们首先遍历数组中的每个对象。如果当前对象的id与我们要查找的id相同,则返回该对象。如果当前对象具有一个名为“children”的属性,并且该属性是一个数组,则递归调用findId函数,以查找数组中的id。如果在子数组中找到了id,则返回该对象。如果在整个数组中未找到id,则返回null。
以下是一个使用该函数的示例:
```js
const data = [
{
id: 1,
name: 'A',
children: [
{
id: 2,
name: 'B'
},
{
id: 3,
name: 'C'
}
]
},
{
id: 4,
name: 'D',
children: [
{
id: 5,
name: 'E'
},
{
id: 6,
name: 'F'
}
]
}
];
const result = findId(data, 5);
console.log(result); // { id: 5, name: 'E' }
```
阅读全文