LinMinquan's Blog

Experience technology to change life

js获取嵌套数组里所有元素

给定一个随机数组,数组可能包含数组(也就是说数组元素可能为数组)。需求用js实现一个函数,返回该数组中所有元素。例如:数组[2,3,[4,6,[1,8]],12,10],返回结果为:[2,3,4,6,1,8,12,10]。

这个用递归来实现比较容易。

let original = [2,3,[4,6,[1,8]],12,10];
function getAllElement(array) {
    let result = [];
    for( let i=0; i< array.length; i++ ) {
        if( Array.isArray( array[i] ) ) {
            let tempResult = getAllElement( array[i] );
            for( let j=0; j< tempResult.length; j++)
            {
                result.push( tempResult[j] );
            } 
        }
        else {
            result.push( array[i] );
        }
    }
    return result;
}

let temp = getAllElement( original );
console.log( temp );

 


Share