使用reduce实现数组扁平化
js的两个操作数组方法:reduce, concat
const arr = [[1, 2, [3, 4, [5], [6, 7]], [8]], 9, [10]]
// to => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
function flatter(arr) {
return arr.reduce((preNum, curNum) => {
return preNum.concat(Array.isArray(curNum) ? flatter(curNum) : curNum) // 将数组全部扁平化转换为单个数字存入数组中
}, []) // 初始值为[]
}
console.log(flatter(arr))