js 数组递归遍历
时间: 2023-09-26 12:10:34 浏览: 65
在 JavaScript 中,你可以使用递归函数来实现数组的递归遍历。下面是一个示例:
```javascript
function recursiveTraversal(arr) {
arr.forEach(item => {
if (Array.isArray(item)) {
recursiveTraversal(item); // 递归遍历子数组
} else {
console.log(item); // 打印当前项
}
});
}
```
在上面的示例中,我们定义了一个名为 `recursiveTraversal` 的递归函数,它接收一个数组作为参数。我们使用 `forEach` 方法遍历数组中的每一项。如果当前项是数组,我们递归调用 `recursiveTraversal` 函数来遍历子数组。如果当前项不是数组,我们打印出当前项。
你可以根据实际需求,在遍历数组时执行相应的操作,如修改数组项、统计数据等。记得在递归函数中定义好递归终止条件,以避免无限递归的情况发生。
相关问题
js 递归遍历多重数组
要递归遍历多维数组,你可以使用递归函数来处理每个数组元素。下面是一个示例的JavaScript代码,展示了如何递归遍历多维数组:
```javascript
function recursiveArrayTraversal(arr) {
for(var i = 0; i < arr.length; i++) {
if(Array.isArray(arr[i])) {
recursiveArrayTraversal(arr[i]); // 递归调用处理子数组
} else {
console.log(arr[i]); // 处理非数组元素
}
}
}
// 示例用法
var myarr = [
[1, 2, 3],
[4, [5, 6]],
[7, 8, [9, 10]]
];
recursiveArrayTraversal(myarr);
```
在这个示例中,我们定义了一个名为`recursiveArrayTraversal`的递归函数。这个函数接受一个数组作为参数,并遍历数组的每个元素。如果元素是一个数组,则递归调用`recursiveArrayTraversal`函数来处理子数组。如果元素不是数组,则执行你想要的操作,这里我们使用了`console.log`来输出元素的值。
你可以将这个示例代码复制到你的JavaScript环境中运行,并根据你的需求自定义处理非数组元素的操作。
js递归遍历数组帅选
下面是使用递归遍历数组进行筛选的JavaScript代码例子:
```javascript
/* 遍历数组挑选深复制 改名 */
function arrHandle(arr) {
// 定义一个外围数组,用于保存所有数据
let newArr = [];
arr.forEach(item => {
// 在循环中每循环到一个成员,定义一个对象,用于保存当前所有的数据
let obj = {};
// 使用for-in循环遍历对象获取对象的key
for (let i in item) {
// 利用instanceof判断对象该项是不是个数组,如果是那么进行递归,重新遍历保存
if (item[i instanceof Array) {
obj.children = arrHandle(item[i]);
} else if (i === 'id' || i === 'name' || i === 'level') {
// 进行改名操作,因为是对同一项进行判断,所以使用switch
switch (i) {
case 'id':
obj.key = item[i];
break;
case 'name':
obj.title = item[i];
break;
case 'level':
obj[i = item[i];
break;
}
}
// 如果不需要更改key的名称,那么可以直接进行添加
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)