我正在尝试编写类似Array.prototype.flat()的js平面函数>
使用concat +递归。但是,我的代码总是抛出acc.concat不是函数错误。我不知道我的代码有什么问题。有人可以帮助我解决这个问题吗?提前非常感谢您!
function flatten (arr) {
return arr.reduce((acc, val) => {
if (Array.isArray(val)) {
acc.concat(flatten(val));
} else {
return val;
}
return acc;
}, []);
}
我正在尝试使用concat + recursion编写类似Array.prototype.flat()的js平面函数。但是,我的代码总是抛出acc.concat不是函数错误。我不知道我的问题在哪里...
这是因为您在执行递归之前执行了终止递归的步骤,这使您不寒而栗。
我看到一些问题: