Interview icon indicating copy to clipboard operation
Interview copied to clipboard

第111题(2019-12-23):写出一个数组展开函数, 如输入:[1,[2,[3,4,2],2],5,[6]], 则输出:[1,2,3,4,2,2,5,6]

Open qappleh opened this issue 5 years ago • 1 comments

qappleh avatar Dec 23 '19 00:12 qappleh

// 因为和深度无关,所以说最简单可以这样
function flatten(arr){
    var res = arr.join().split(',');
    res = res.map( ele => +ele)
    return res;
}
// 还有吗,递归,写一下
function flatten(arr){
    var array = [];
    arr.forEach(ele => {
        if(Array.isArray(ele)){
            array.push(...flatten(ele));
        } else {
            array.push(ele);
        }
    })
    return array;
}
var arr1 = [1,[2,[3,4,2],2],5,[6]];
flatten(arr1)

qappleh avatar Dec 24 '19 01:12 qappleh