普通二维数组
// 第一种方法 concat
fattenOnce(arr){
return [].concat(...arr)
}
// 第二种方法 toString 数据类型会被改变成字符串
fattenOnce(arr){
return arr.toString().split(',')
}
// 第三种方法 reduce
fattenOnce(arr){
return arr.reduce((newArray, currentValue, currentIndex, arr) => newArray.concat(...currentValue),[])
}
多维数组展平 递归
// 第一种方法 concat
fattenOnce(arr){
return [].concat(...arr.map(item => Array.isArray(item) ? fattenOnce(item) : item))
}
// 第二种方法 toString 数据类型会被改变成字符串
fattenOnce(arr){
return arr.toString().split(',')
}
// 第三种方法 reduce
fattenOnce(arr){
return arr.reduce((newArray, currentValue) => Array.isArray(currentValue) ? fattenOnce(currentValue) : currentValue,[])
}
// 函数生成器
function* flattenOnce(arr) {
for(let i = 0;i < arr.length; i++) {
if(Array.isArray(arr[i])) {
yield * flatten(arr[i])
} else {
yield arr[i]
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。