错误:acc.concat不是我的js平面数组函数的函数吗?

问题描述 投票:1回答:2

我正在尝试编写类似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不是函数错误。我不知道我的问题在哪里...

javascript flat
2个回答
1
投票

这是因为您在执行递归之前执行了终止递归的步骤,这使您不寒而栗。


0
投票

我看到一些问题:

© www.soinside.com 2019 - 2024. All rights reserved.