使用递归和 while 循环是实现此目的的更简单方法
export default function flatten(value) { const arr = [] const flat = (a) => { let counter = 0 console.log(a) while (counter < a.length) { const val = a[counter] if (array.isarray(val)) { return flat(val) } else { arr.push(val) } counter++ } } flat(value) return arr }
您也可以使用reduce() 和 array.concat()
export default function flatten(value) { return value.reduce((acc, val) => Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []); }