在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']]]));
可能重复的