数组打平 发表于 2022-03-24 reduce1234567const arr = [1, [1, 2], 3, [[1, 2, 3], 4], 5]const foo = function (arr) { return arr.reduce((total, curVal) => { total = total.concat(curVal instanceof Array ? foo(curVal) : curVal) }, [])}console.log(foo(arr)) flat flat ES6 新增的数组拍平方法 12const arr = [1, [1, 2], 3, [[1, 2, 3], 4], 5]console.log(arr.flat(Infinity)) 递归123456789const arr = [1, [1, 2], 3, [[1, 2, 3], 4], 5]const foo = function (arr) { let temp = [] for (let val of arr) { val instanceof Array ? temp.push(...foo(val)) : temp.push(val) } return temp}console.log(foo(arr)) toString12345678const arr = [1, [1, 2], 3, [[1, 2, 3], 4], 5]console.log(arr.toString().split(',').map(item => Number(item)))// [// 1, 1, 2, 3, 1,// 2, 3, 4, 5// ] -------------本文结束感谢您的阅读-------------