用uniapp写一个递归方法的demo,结果只输出二维数组
时间: 2023-06-09 07:08:39 浏览: 110
好的,这是一个使用 uniapp 编写递归方法并且只输出二维数组的示例代码:
```
<template>
<view>
<button type="primary" @click="onButtonClick">点击输出二维数组</button>
</view>
</template>
<script>
export default {
methods: {
onButtonClick() {
const arr = [
[1, 2],
[3, 4],
[5, [6, 7]],
];
const flattenedArr = this.flattenArray(arr);
console.log(flattenedArr);
},
flattenArray(arr) {
const flattenedArr = [];
const flatten = function(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
flatten(arr[i]);
} else {
flattenedArr.push(arr[i]);
}
}
};
flatten(arr);
return flattenedArr.filter(a => Array.isArray(a));
},
},
};
</script>
```
这段代码主要有两个部分:`onButtonClick` 方法和 `flattenArray` 递归方法。`onButtonClick` 方法被绑定到点击按钮上,它会创建一个二维数组并调用 `flattenArray` 方法。`flattenArray` 方法会递归遍历数组, 把所有的元素都存储在一个 `flattenedArr` 变量中,最后返回所有二维数组。
注意:这段代码中的 `filter` 方法使用了一个判断是否为数组的条件,可以根据需求进行修改。
阅读全文