问题
如何将多维数组变成一维数组
方法
递归
思路
声明一个空数组,用于接收多维数组的每一个值
创建一个函数,利用循环遍历多维数组最外层
判断多维数组的每一个索引对应的值是否是一个数组
如果是数组则将当前项作为参数继续调用这个函数(递归),如果不是数组则将值push到新数组中
过程
var arr1 = [1, 2, [3, 4, 5], 6];
var new_arr = [];
function fn(arr) {
arr.forEach(function (item, index, arr){
if(item instanceof Array) {
fn(item)
}else {
new_arr.push(item);
}
})
return new_arr;
}
var result = fn(arr1);
console.log(result);