将高微的数组转化为一维数组。
function Myflat(arr) {
let res = []
for(let i=0;i<arr.length;i++) {
if(Array.isArray(arr[i])) {
res.push(...Myflat(arr[i]))
}else {
res.push(arr[i])
}
}
return res
}
官方的flat()中是可以传递参数的。下面将对上面个的代码进行更正
function MyFlat(arr,depth=1) {
let res = []
for(let i=0;i<arr.length;i++) {
if(Array.isArray(arr[i])) {
if(depth>0) {
res.push(...Myflat(arr[i],depth-1))
}else {
res.push(arr[i])
}
}else {
res.push(arr[i])
}
}
return res
}