递归拿到数组中符合条件的数据
时间: 2024-05-02 08:20:29 浏览: 14
递归是一种通过反复调用自身来解决问题的方法。在处理数组中符合条件的数据时,可以使用递归来遍历整个数组并找到符合条件的数据。
例如,假设有一个数组arr,要找到其中所有大于10的元素,可以使用以下递归函数:
```
function findElementsGreaterThanTen(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
result = result.concat(findElementsGreaterThanTen(arr[i]));
} else if (arr[i] > 10) {
result.push(arr[i]);
}
}
return result;
}
```
该函数会遍历数组中的每个元素,如果元素是一个数组,则递归调用自身来处理该数组。如果元素是一个大于10的数,则将其添加到结果数组中。最后,返回结果数组。
使用该函数,可以得到所有大于10的元素:
```
const arr = [1, 2, [3, 4, [5, 6]], 7, 8, [9, 10, 11, [12, 13]]];
const result = findElementsGreaterThanTen(arr);
console.log(result); // [11, 12, 13]
```
在上述例子中,数组中包含嵌套的数组,但递归函数可以处理所有嵌套的数组,并找到所有大于10的元素。