上代码
function deepFlatten(arr){
// const res=[]
// arr.forEach(element => {
// if(Array.isArray(element)){
// res=res.concat(deepFlatten(element))
// }else{
// res.push(element)
// }
// });
// return res
var result = [];
for(var i=0; i<arr.length; i++){
if(Array.isArray(arr[i])){
result = result.concat(deepFlatten(arr[i]));
}else{
result.push(arr[i]);
}
}
return result;
}
var arr=[0,[1,2],[[3,4],5],6,7]
var res=deepFlatten(arr)
console.log(res)
function deepFlatten(arr){
const res=[]
arr.forEach(element => {
if(Array.isArray(element)){
res=res.concat(deepFlatten(element))
}else{
res.push(element)
}
});
return res
// var result = [];
// for(var i=0; i<arr.length; i++){
// if(Array.isArray(arr[i])){
// result = result.concat(deepFlatten(arr[i]));
// }else{
// result.push(arr[i]);
// }
// }
// return result;
}
var arr=[0,[1,2],[[3,4],5],6,7]
var res=deepFlatten(arr)
console.log(res)
forEach没有返回值,不能链式调用
若循环对数组进行操作,最好用for循环
froEach常用来遍历数组