JS数组扁平化
数组some方法:如果数组中有一个满足条件就返回true
数组map方法:返回符合条件的元素集合
concant 合并两个数组返回一个新数组,如果参数是数组直接合并数组元素
let a1 = [1,2]
let a2 = [3,4]
let a3 = 5
a1.concat(a2) //[1,2,3,4]
a1.concat(a3) // [1,2,5]
实现方式一:
const function flattenArr (arr) {
let flattened = [].concat(...arr);
return flattened.some(item=>Aarry.isArray(item)) ? flattenArr(flattened):flattened;
}
let arr = [1,2,[3,[4,[5]]]]
flattenArr(arr) // [1,2,3,4,5]
实现方式二:
const function flattenArr(arr){
return [].concat(...arr.map(item => Array.isArray(item) ? flattenArr(item) : item))
}