2
回答
新手:关于js递归的问题。
华为云4核8G,高性能云服务器,免费试用   

有这样一个数组,里面全部是存的person对象(由Person父对象生成出来,请把所有的person提炼出来),放到一个新的数组

数组形式如下:

[person,[person,[],[],[[…],person]……] 其数组长度和嵌套层数未知,用递归来解决

举报
共有2个答案 最后回答: 1年前
function getPerson(list) { var result = []; for (var i = 0; i < list.length; i++) { if (list[i] instanceof Array) { [].push.apply(result, getPerson(list[i])); } else { result.push(list[i]); } } return result; }
//楼上的代码 
function getPerson(list) { 
    var result = []; 
    for (var i = 0; i < list.length; i++) { 
        if (list[i] instanceof Array) { 
            [].push.apply(result, getPerson(list[i])); 
        } else { 
            result.push(list[i]); 
        } 
    } 
    return result; 
}

//我的代码:

function getPerson(list){
    var result = [];
    return (function loop(list) { 
        for(var i in list){
            if(list[i] instanceof Array) { 
                result.concat(loop(list[i]));
            } else { 
                result.push(list[i]); 
            } 
        } 
        return result; 
    })(list);
}

 

顶部