Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中展平多维数组_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

在javascript中展平多维数组

在javascript中展平多维数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我需要展平多维数组,但我的代码只展平一个数组,然后停止。怎么了?如何让它只传输没有数组的元素 function flatten(arr) { // I'm a steamroller, baby arr.reduce(function (flat, toFlatten) { return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten); },[]);

我需要展平多维数组,但我的代码只展平一个数组,然后停止。怎么了?如何让它只传输没有数组的元素

 function flatten(arr) {
     // I'm a steamroller, baby
     arr.reduce(function (flat, toFlatten) {
        return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
     },[]);
    }
    flatten([[['a']], [['b']]]); 

assert.deepEqual(flatten([[['a']], [['b']]]), ['a', 'b'], 'should flatten nested arrays');

should flatten nested arrays: expected [ [ 'a' ], [ 'b' ] ] to deeply equal [ 'a', 'b' ]
您做得很对--只是缺少一个
return
语句

function flatten(arr) {
    // I'm a steamroller, baby
    return arr.reduce(function (flat, toFlatten) {
        return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
    }, []);
}

console.log(flatten([[['a']], [['b']]])); 
可能重复的