数组扁平化的常见方法
Posted 「已注销」
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组扁平化的常见方法相关的知识,希望对你有一定的参考价值。
数组扁平化常见方法
数组扁平化是指将一个多维数组转化为一个一维数组,常见方法如下:
- flat( )方法
const arr = [1, [2, [3, [4, [5, [6]]]]]]
arr.flat(Infinity) //[1, 2, 3, 4, 5, 6]
- 利用正则表达式
const arr = [1, [2, [3, [4, [5, [6]]]]]]
JSON.parse('[' + JSON.stringify(arr).replace(/\\[|\\]/g, '') + ']') //[1, 2, 3, 4, 5, 6]
- 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]
- 函数递归
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( )方法,使用起来既简单又方便。
以上是关于数组扁平化的常见方法的主要内容,如果未能解决你的问题,请参考以下文章