数组扁平化的常见方法
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( )方法,使用起来既简单又方便。
以上是关于数组扁平化的常见方法的主要内容,如果未能解决你的问题,请参考以下文章