JS数组扁平化、二维数组、多维数组的多种扁平化方法
//扁平化简单的二维数组
const arr1 = [11, [22, 33], [44, 55], 66];
const flatArr1 = arr1.join().split(','); //.split 将字符串转化为数组
console.log(flatArr1)
// 主要使用的join方法:
let arr2 = [[1,2],3,[4,5],6];
let flatArr2 = arr2.join(',');
console.log(flatArr2)
const arr3 = [111, [222, 333], [444, 555], 66];
const flatArr3 = arr3.toString().split(',');
console.log(flatArr3)
// 主要使用的toString方法:
let arr4 = [[1,2],3,[4,5],6];
let flatArr4 = arr4.toString();
console.log(flatArr4)
//扁平化多维数组
let arr5 = [[11,22],[33,[44,55]],66];
let flatArr5 = arr5.flat(Infinity); //Infinity 作参数 扁平化多维数组
console.log(flatArr5)
// 循环遍历二维或多维数组
arr6 = [[111,222],[333,[444,555]],666];
function flatten(arr6){
var res = [];
for(var i=0;i<arr6.length;i++){
if(Array.isArray(arr6[i])){
res = res.concat(flatten(arr6[i]));
}else{
res.push(arr6[i]);
}
}
return res;
}
console.log(flatten(arr6))