多维数组的遍历

不能确定到底有几维,所以使用递归的方法更通用

dome,遍历 arr=[1,2,3,[4,[10,11],5,6],7,8,9]

var arr=[1,2,3,[4,[10,11],5,6],7,8,9]
function traverse(arr){
    for(var i=0;i<arr.length;i++){
        if(arr[i] instanceof Array){
            traverse(arr[i])
        }else{
            console.log(arr[i])
        }
    }
}
traverse(arr)

运行结果如下

### Vue3 中遍历多维数组 在 Vue3 应用程序中处理多维数组时,可以采用多种方式来进行遍历操作。一种常见的方式是利用 JavaScript 的原生方法结合 Vue 组件特性来完成这一目标。 对于简单的遍历需求,可以直接使用 `for...in` 或者更推荐的 `forEach()` 方法[^1]: ```javascript // 假设这是要遍历多维数组 const multiDimArr = [ [12, 59, 66], [100, 888] ]; multiDimArr.forEach((subArray) => { subArray.forEach(element => { console.log(`Element found: ${element}`); }); }); ``` 当涉及到复杂的数据结构或是需要递归遍历时,则建议编写专门用于处理这种情况的功能函数。下面是一个基于给定资料中的 flattenArray 函数概念改造的例子,在此例子中不仅实现了扁平化还保持了原始层级信息以便于后续可能的操作[^3]: ```javascript function traverseMultiDimensionalArray(array, callback, path=[]) { array.forEach(item => { let currentPath = [...path]; if (Array.isArray(item)) { // 如果当前项还是一个数组则继续深入一层调用本函数 traverseMultiDimensionalArray(item, callback, [...currentPath, 'array']); } else { // 否则是叶子节点执行回调并将路径传递过去 callback(item, [...currentPath, item]); } }); } // 使用示例 traverseMultiDimensionalArray(multiDimArr, function(value, fullPath){ console.log({value, fullPath}); }); ``` 上述代码展示了如何定义一个通用的遍历器,它不仅可以访问每一个元素还可以记录下它们在整个多维结构里的位置。这对于某些应用场景非常有用,比如过滤、映射或者是像参考资料里提到的那种带有层次关系的选择逻辑[^4]。 此外,在实际项目开发过程中也可以考虑借助第三方库如 lodash 来简化这类任务,这些工具提供了丰富的集合操作API使得工作变得更加轻松高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值