代码实现
const arr = [1, 2, 3, [4, 5], 6, [7, [8, [9]]]];
console.log(arr.flat(3));
function myFlat(arr) {
// 判断数组里面有没有多层级
const isDeep = arr.some((item) => item instanceof Array);
if (!isDeep) {
return arr;
}
let res = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] instanceof Array) {
res = res.concat(myFlat(arr[i]));
} else {
res.push(arr[i]);
}
}
return res;
}
console.log(myFlat(arr));