实现拉平处理
[1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]]]
第一种方式
let arr = [1, 2, [3, 4, 5, [6, 7], 8], 9, 10, [11, [12, 13]]]
const faltten = (value) => {
while(value.some(item => Array.isArray(item))) {
value=[].concat(...value)
}
return value
}
console.log(faltten(arr))
复制代码
第二种方式
const faltten = (value) => {
let ma=[]
value.forEach(element => {
if(Array.isArray(element)){
ma.push(...faltten(element))
}else{
ma.push(element)
}
});
return ma
}
console.log(faltten(arr))
复制代码
第三种方式
const faltten=(value)=>{
return value.toString().split(',').map(item=>Number(item))
}
console.log(faltten(arr))
复制代码
第四种方式
const flatten = array => array.reduce((acc, cur) => (Array.isArray(cur) ? [...acc, ...flatten(cur)] : [...acc, cur]), [])
复制代码
第五种方式
const faltten=(value)=>{
return value.flat(Infinity)
}
console.log(faltten(arr))
复制代码