数组扁平化的常见方法

Posted 乱舞春秋__

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组扁平化的常见方法相关的知识,希望对你有一定的参考价值。

数组扁平化常见方法

数组扁平化是指将一个多维数组转化为一个一维数组,常见方法如下:

  1. flat( )方法
    const arr = [1, [2, [3, [4, [5, [6]]]]]]
    arr.flat(Infinity) //[1, 2, 3, 4, 5, 6]
  1. 利用正则表达式
    const arr = [1, [2, [3, [4, [5, [6]]]]]]
    JSON.parse('[' + JSON.stringify(arr).replace(/\\[|\\]/g, '') + ']') //[1, 2, 3, 4, 5, 6]
  1. reduce( )方法
    const arr = [1, [2, [3, [4, [5, [6]]]]]]
    const flatten = arr => {
      return arr.reduce((ans, cur) => {
        return ans.concat(Array.isArray(cur) ? flatten(cur) : cur) 
      }, [])
    }
    flatten(arr) //[1, 2, 3, 4, 5, 6]
  1. 函数递归
    const arr = [1, [2, [3, [4, [5, [6]]]]]]
    const flatten = arr => {
      const ans = []
      function inner (array) {
        for (let i = 0; i < array.length; ++i) {
          if (Array.isArray(array[i])) {
            inner(array[i])
          } else {
            ans.push(array[i])
          }
        }
      }
      inner(arr)
      return ans
    }
    flatten(arr) //[1, 2, 3, 4, 5, 6]

以上即为将多维数组扁平化的常见方法,推荐使用数组的flat( )方法,使用起来既简单又方便。

以上是关于数组扁平化的常见方法的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数组扁平化数组去重常见方法

JavaScript 数组常见操作

JavaScript数组常用方法解析和深层次js数组扁平化

JavaScript数组 API 实现的几个常见操作

JS:数组扁平化、去重、排序

数组的扁平化处理方法