Show me JS Code

107 阅读1分钟

数组扁平化

// 递归调用 栈
function flatten(arr) {
  if (!Array.isArray(arr)) return false
  let res = []
  for (let item of arr) {
    if (Array.isArray(item)) {
      res = res.concat(flatten(item))
    } else {
      res.push(item)
    }
  }

  return res
}
function flatten(arr) {
  if (!Array.isArray(arr)) return false
  return arr.reduce((prev, curr) => prev.concat(Array.isArray(curr) ? flatten(curr) : curr), [])
}
function flatten(arr) {
  if (!Array.isArray(arr)) return false
  while (arr.some(item => Array.isArray(item))) {
    arr = [].concat(...arr)
  }

  return arr
}
function flatten(arr) {
  return arr
    .toString()
    .split(',')
    .map(item => Number(item))
}
function flatten(arr) {
  return arr.flat(Infinity)
}
function flatten(arr) {
  let str = JSON.stringify(arr)
  str = str.replace(/(\[|\])/g, '')
  str = '[' + str + ']'

  return JSON.parse(str)
}