警告:Array.prototype.reduce() 需要箭头函数的返回值

Posted

技术标签:

【中文标题】警告:Array.prototype.reduce() 需要箭头函数的返回值【英文标题】:Warning: Array.prototype.reduce() expects a return value from arrow function 【发布时间】:2022-01-23 17:52:26 【问题描述】:
const singleParams = [...appliedFilters].reduce((prev, curr) => 
    if (curr.key !== "multi")
        return  ...prev, ...curr.selectedValue.params ;
    return;
, );

以下函数在我的控制台中给我以下警告。

第 22:13 行:Array.prototype.reduce() 期望从 箭头函数数组回调返回

我不能忽略它,因为我无法在出现警告的情况下进行部署。我该如何解决?

【问题讨论】:

这是由于return; 语句,尝试返回一个值而不是undefined(比如return prev; 当你使用花括号你需要有回报。如果您不希望这样,请使用括号 () 【参考方案1】:

您需要在 else 块中返回 prev

  const singleParams = [...appliedFilters].reduce((prev, curr) => 
        if (curr.key !== "multi")
            return  ...prev, ...curr.selectedValue.params ;
        return prev;
    , );

【讨论】:

以上是关于警告:Array.prototype.reduce() 需要箭头函数的返回值的主要内容,如果未能解决你的问题,请参考以下文章

Array.prototype.reduce 的理解与实现

Using Array.prototype.reduce() to Reduce Conceptual Boilerplate for Problems on Arrays

为啥 Array.prototype.reduce() 不接受 Map 对象作为初始值?

如何正确使用 TypeScript 和 Array.prototype.reduce?

前端开发Array.prototype.reduce()的详细解析&使用

Array数组语法系列: Array.prototype.reduce