js拿到多层数组拿到最里层的id
时间: 2023-11-21 16:04:35 浏览: 67
可以使用递归来实现拿到多层数组中最里层的id,代码如下:
```javascript
function getInnermostId(arr) {
if (Array.isArray(arr)) {
for (let i = 0; i < arr.length; i++) {
const id = getInnermostId(arr[i]);
if (id !== null) {
return id;
}
}
} else if (typeof arr === 'object' && arr.hasOwnProperty('id')) {
return arr.id;
}
return null;
}
```
这个函数接收一个多层数组作为参数,如果传入的是一个数组,就递归地遍历它的每个元素,如果元素是一个对象且包含一个id属性,就返回这个id。如果传入的不是数组或对象中没有id属性,就返回null。最终返回的是多层数组中最里层的id。
相关问题
循环多层数组拿到最里层的id
好的,针对您的问题,假设您有一个多层嵌套的数组,您可以通过使用递归函数来获取最里层的id。以下是使用JavaScript编写的示例代码:
```javascript
function getInnermostId(data) {
let id;
if (Array.isArray(data)) {
id = getInnermostId(data[0]);
} else if (data && typeof data === 'object' && data.id) {
id = data.id;
}
return id;
}
// 示例数据
const data = [
{
id: 1,
children: [
{
id: 2,
children: [
{
id: 3,
children: [
{
id: 4
}
]
}
],
}
]
}
];
const innermostId = getInnermostId(data);
console.log(innermostId); // 输出 4
```
在上述代码中,我们定义了一个名为 `getInnermostId` 的递归函数,该函数接受一个参数 `data`,该参数可以是一个对象或数组。如果 `data` 是一个数组,则我们将其第一个元素传递给 `getInnermostId` 函数并继续递归。如果 `data` 是一个对象并且包含 `id` 属性,则我们将其 `id` 属性返回作为最里层的id。通过这种方式,我们可以递归遍历多层嵌套的数组,并获取最里层的id。
js前端递归多层数组
可以使用递归函数来遍历多层嵌套的数组。具体实现可以参考以下代码:
```javascript
function traverseArray(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
traverseArray(arr[i]);
} else {
console.log(arr[i]);
}
}
}
```
这个函数会遍历传入的数组,如果当前元素是数组,则递归调用自身,否则输出当前元素。
阅读全文