js 封装一个方法 将多维数组 拉平 递归
时间: 2023-07-07 09:06:43 浏览: 88
JS中递归函数
5星 · 资源好评率100%
可以通过递归的方式来实现多维数组的拉平。以下是一个 JavaScript 方法:
```javascript
function flatten(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
result = result.concat(flatten(arr[i]));
} else {
result.push(arr[i]);
}
}
return result;
}
```
这个方法会递归地遍历数组中的每个元素,如果元素是一个数组,就递归调用 `flatten` 方法,将子数组拉平后将结果加入到 `result` 数组中;如果元素不是数组,就将它加入到 `result` 数组中。最终返回 `result` 数组,即为拉平后的一维数组。
例如,对于以下多维数组:
```javascript
const arr = [1, [2, [3, 4], 5], 6];
```
调用 `flatten(arr)` 方法后,返回的结果为:
```javascript
[1, 2, 3, 4, 5, 6]
```
阅读全文