数组扁平化就是将一个多维数组变为一个一维数组
方法一:ES6的flat方法
- flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
- Infinity 可展开任意深度的嵌套数组
方法二:JSON.stringify和JSON.parse方法
`let arr=[ 1 , 2 , [ 3 , 4 , [ 5 , 6 ] ] ]
//先定义一个数组 let res=JSON.stringify(arr).replace(/[|]/g,'')
// 过滤所有的中中括号 res=JSON.parse('['+res+']') console.log('parse方法:',res) `
方法三:reduce方法
方法四:利用扩展运算符
- ES6增加了这个运算符,用于取出对象所有可遍历的属性,放到当前对象内
- 查找数组里是否有属性是数组,反复的去扁平,最后返回的数组就是我们想要的了。
方法五:split和toString()方法共同处理
如果数组中存储元素都为数字,那么我们可以取巧,使用toString方法来解决。
- 调用toString方法后,返回的是如上面一样的字符串。
- 我们使用split,以逗号为分割成数组,这样就可以实现扁平化了