【前端学习】—多种方式实现数组拍平(十一)
一、数组拍平
数组拍平也叫数组扁平化、数组拉平、数组降维,指的是把多维数组转化为一维数组。
二、使用场景
复杂场景下的数据处理(echarts做大屏数据展示)
三、如何实现数组拍平
四、代码演示
const array =[1,2,3,4,[5,6],[7,8]];
//reduce实现
function flatten(array){
return array.reduce(function(prev,current){
return prev.concat(Array.isArray(current)?flatten(current):current)
},[])
}
const result=flatten(array);
console.log(`result`,result);//result [1, 2, 3, 4,5, 6, 7, 8]
//flat实现
function flatten(array){
return array.flat(Infinity);
}
const result1=flatten(array)
console.log(`result1`,result);//result1 [1, 2, 3, 4,5, 6, 7, 8]
//while函数
function flatten(array){
while(array.some(Array.isArray)){
array=[].concat(...array)
}
return array;
}
const result2=flatten(array);
console.log(result2);// [1, 2, 3, 4,5, 6, 7, 8]