數(shù)組扁平化幾種方式

1. reduce方法
const arr = [true,function(){},[{},[2,[3, 4]]]]
function f (arr) {
  return arr.reduce((result, item) => {
    return result.concat(Array.isArray(item) ? f(item) : item)
  }, [])
}
2. toString
function toStr (arr) {
  return arr.toString().split(',').map(item => {
    return item
  })
}
3. join ()
function join (arr) {
  return arr.join(',').split(',').map(item => {
    return item
  })
}
4. 遞歸
function flatten (arr) {
  var res = []

  arr.forEach(item => {
    if (Array.isArray(item)) {
      res = res.concat(flatten(item))
    } else {
      res.push(item)
    }
  })
  return res
}
5. 展開運算符...
function flatten2 (arr) {
  while (arr.some(item => Array.isArray(item))) {
    arr = [].concat(...arr)
  }
  return arr
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容