多维数组转一维数组

方法1:

先arr.forEach()遍历数组;

再将遍历出来的每一个元素进行Array.isArray()的数组判断;

如果是数组,则进行迭代(再次调用)如果不是,则push进新数组

let arr = [1,[2,[3,[4,5]]],[6,7,[8.9]]];
let newArr = []
const decending = (arr)=>{
if(arr === null){
return arr ;
}
arr.forEach((item)=>{
if(Array.isArray(item)){
decending(item)
}else{
newArr.push(item)
}
})
}

decending(arr)

方法二:利用arr.reduce()

let arr = [1,[2,[3,[4,5]]],[6,7,[8.9]]];

const newArr = function(arr){
return arr.reduce((pre,cur)=>{
    return pre.concat(Array.isArray(cur) ? newArr(cur) : cur)
},[])
}
newArr(arr)


版权声明:本文为m0_66612315原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。