百度小程序如何做网站/排名怎么优化快
数组扁平化常见方法
数组扁平化是指将一个多维数组转化为一个一维数组,常见方法如下:
- 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( )方法,使用起来既简单又方便。