js怎么筛选多维数组
时间: 2024-12-19 18:10:37 浏览: 4
在JavaScript中,筛选多维数组通常可以使用嵌套循环配合`filter()`函数或者数组方法链式操作。这里有两个常见的方式:
1. **使用双重循环+数组.filter()**:
```javascript
function filterMultiDimensionalArray(arr, predicate) {
return arr.flatMap(subArr => subArr.filter(predicate));
}
// 示例
const multiDimArray = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const filteredArray = filterMultiDimensionalArray(multiDimArray, value => value > 5);
```
2. **使用递归**:
如果数组深度不确定,可以使用递归来处理:
```javascript
function recursiveFilter(arr, predicate) {
return arr.reduce((filtered, item) => Array.isArray(item) ? filtered.concat(recursiveFilter(item, predicate)) : filtered.filter(predicate), []);
}
// 使用递归
const filteredArrayRecursively = recursiveFilter(multiDimArray, value => value > 5);
```
这两个例子都是基于条件过滤(`predicate`),传入的是一个测试元素是否符合条件的函数。
阅读全文