本文主要是介绍数组扁平化的三种方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法一:ES6 的 flat 方法
flat() 方法将以指定的深度递归遍历数组,并将所有元素与遍历的子数组中的元素合并到一个新数组中以返回。
const arr = [1,[2,[3,[4,5]]],6]
// 方法一:数组自带的扁平化方法,flat的参数代表的是需要展开几层,如果是Infinity的话,就是不管嵌套几层,全部都展开
console.log(arr.flat(Infinity))
方法二:使用正则
const arr = [1,[2,[3,[4,5]]],6]
const res = JSON.stringify(arr).replace(/\[|\]/g,'')
const res2 = JSON.parse('[' + res + ']')
console.log(res2)
方法三:使用递归
const array = []
const fn = (arr)=>{for(let i = 0;i<arr.length; i++){if(Array.isArray(arr[i])){fn(arr[i])}else {array.push(arr[i])}}
}
fn(arr)
console.log(array)
这篇关于数组扁平化的三种方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!