一般二维数组

// 第一种办法 concatfattenOnce(arr){    return [].concat(...arr)}// 第二种办法 toString 数据类型会被扭转成字符串fattenOnce(arr){  return arr.toString().split(',')}// 第三种办法 reduce fattenOnce(arr){  return arr.reduce((newArray, currentValue, currentIndex, arr) => newArray.concat(...currentValue),[])}

多维数组展平 递归

// 第一种办法 concatfattenOnce(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]    }  }}