面试题:有一个多维数组,其维数不定。请写一个函数,找出该数组指定某个维度的项(注,这些项其本身也有可能是一个多维数组),然后把他们返回回来。(小提示:请用javascript语言实现)

如题:有一个多维数组,其维数不定。请写一个函数,找出该数组指定某个维度的项(注,这些项其本身也有可能是一个多维数组),然后把他们返回回来。(小提示:请用javascript语言实现)

const fn = (function(){
    let i = 1;
    let a = [];
    return function(arr, num){
        if(i++ === num){
            a = arr;
        }else{
            arr.forEach(val=>{
                if(!Array.isArray(val)) return;
                fn(val, num);
            })
        }
        return a;
    }
})();
var arr = [1,2,[3,4,[5,6,[7,8]]]];
console.log(fn( arr , 2 ));

你可能感兴趣的:(面试题,javascript,ecmascript,面试,数组)