【前端学习】—多种方式实现数组拍平(十一)
【前端学习】—多种方式实现数组拍平(十一)
一、数组拍平
数组拍平也叫数组扁平化、数组拉平、数组降维,指的是把多维数组转化为一维数组。
二、使用场景
复杂场景下的数据处理(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]