image.png
    image.png
    image.png
    自己实现了一个

    function flatten(input, shallow = false, strict = false, output = []){
    for(let i = 0; i< input.length; i++){
    let value = input[i];
    if(Array.isArray(value)){
    if(shallow){
    return output.concat(…input);
    }else{
    flatten(value, shallow, strict, output);
    }
    }else if(!strict){
    output.push(value);
    }
    }
    return output;
    }

    问题 如果扁平一层,实际上是浅拷贝原数组改 偏平化的数组也会变

    image.png
    image.png