使用递归的思想实现了数组的扁平化,通过Array.isArray判断每一项是否为数组,如果是则继续遍历,最后通过concat拼接两数组
const arr = [1, [2], [3, [4]]];
// 使用递归的思想,如果每一项还是数组就继续遍历
function flatArr(arr) {
let res_arr = []
for (let i = 0; i < arr.length; i++) {
// 判断每一项是不是数组
if (Array.isArray(arr[i])) {
res_arr = res_arr.concat(flatArr(arr[i]))
} else {
res_arr.push(arr[i])
}
}
return res_arr
}
console.log(flatArr(arr))