1、flat,数组自带的方法实现数组扁平化
const arr = [1, [2, 3], [4, [5, 6]]]
console.log(arr.flat(Infinity))
2、使用数组遍历加递归
const arr = [1, [2, 3], [4, [5, 6]]]
const resArr = []
const fn = (arr) => {
if (!Array.isArray(arr)) return
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])){
fn(arr[i])
} else {
resArr.push(arr[i])
}
}
}
fn(arr)
console.log(resArr)
3、使用reduce方法
const arr = [1, [2, 3], [4, [5, 6]]]
const flatArr = (arr) => {
return arr.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? flatArr(cur) : cur)
}, [])
}
console.log(flatArr(arr))