1、先将多维数组转为一维数组
1.1 扁平化
let arr = [1,[2,[3,[4,[5]]]]]
const reasut3 = arr.flat(Infinity) // [1, 2, 3, 4, 5]
1.2 递归
let arr1 = [1,[2,[3,[4,[5]]]]]
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;
}
let result = fn(arr1); // [1, 2, 3, 4, 5]
2、将一维数组转化多维数组
let b = [2, 3, 4, 5, 6, 7, 8]
function fn(b){
let c = []
for(let i = 0;i < b.length;i++){
c.push([b[i]])
}
for(let i = c.length - 1;i >= 0;i--){
let e = [b[i - 1],c[i]]
i ? c.splice(i -1, 2, e) : c
}
return c[0]
}
let result = fn(b)