// 数组降维
const oldArr = [1, 2, [3, 4,5,6,[10,20,30,[100,1000,200,2000]]]];
const newArr = oldArr.flat(Infinity);//参数为要降的维数,不知道可以放infinity
console.log(newArr);// [1, 2, 3, 4, 5, 6, 10, 20, 30, 100, 1000, 200, 2000]
//递归降维,判断是不是数组
const oldArr = [1, [2, [3], [4, 5, 6], [7, 8, 9], 10, 11,], 12, 13, 14, [15, 16, 17],];
const newArr = [];
const lowerArr = (arr) => {
arr.forEach((item) => {
if (Array.isArray(item)) {
lowerArr(item);
} else { newArr.push(item); }
})
}
lowerArr(oldArr, newArr);
console.log(newArr);// [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ]