js数组扁平化

toString+split

function flatArr(arr) {
  return arr.toString().split(',')
}

递归

function flatArr(arr) {
  return Array.isArray(arr) ? arr.reduce((acc, cur) => [...acc, ...flatArr(cur)], []) : [arr]
}

递归+指定深度

function flatArr(arr, depth = 1) {
  return depth > 0
    ? arr.reduce((acc, cur) => {
        return Array.isArray(cur) ? [...acc, ...flatArr(cur, depth - 1)] : [...arr, cur]
      })
    : arr
}
posted @ 2021-11-24 09:34  Samsara315  阅读(21)  评论(0编辑  收藏  举报