数组扁平化的意思通俗讲即为将嵌套多层的数组给他拉为一个数组,以下是一些利用js实现数组扁平化的方法
首先随便写一个初始数组如:
const arr = [1, [2, [3, [4, 5]]], 6,7]
1、数组flat方法
console.log(arr.flat(Infinity));// (7) [1, 2, 3, 4, 5, 6, 7]
2、递归
let newArr=[]
function fn(arr){
for(let i=0;i<arr.length;i++){
if(Array.isArray(arr[i])){
fn(arr[i])
}
else{
newArr.push(arr[i])
}
}
return newArr
}
console.log(fn(arr));// (7) [1, 2, 3, 4, 5, 6, 7]
3、正则表达式
function fn(arr){
let arr1=JSON.stringify(arr).replace(/\[|\]/g,'')
return JSON.parse('['+arr1+']')
}
console.log(fn(arr));// (7) [1, 2, 3, 4, 5, 6, 7]
4、toString()
let arr1=arr.toString().split(',')
let arr2=arr1.map(item=>{
return item=Number(item)
})
console.log(arr2);// (7) [1, 2, 3, 4, 5, 6, 7]
以上是js实现数组扁平化的部分方法