Array.flat()是实现数组扁平化的一个api,在学习的过程中我自己实现了一下扁平化,如果有不对的地方望指正:
let arr = [3,5,[3,6,[3,5]],4,[3,5]] //arr数组实现扁平化的方法
1,
function flatten(arr) { return arr.reduce((result,item) => { return result.concat(Array.isArray(item)?flatten(item):item) },[]) }// 用reduce的方法实现
2,
function flatten2(arr){ return arr.join(',').split(",").map(function(item){ return parseInt(item) }) } //将数组转为字符串,然后再转换为数组
3,
function flatten3(arr){ let result = [] arr.map((item) =>{ if(Array.isArray(item)){ result = result.concat(flatten3(item)) }else result.push(item) }) return result }
let arr3 = flatten(arr) let arr4 = flatten2(arr) let arr5 = [].concat(...arr) let arr6 = flatten3(arr)// 结果都是一样的
来源:https://www.cnblogs.com/388ximengpy/p/12153307.html