对减少和箭头功能感到困惑[重复]

Posted

技术标签:

【中文标题】对减少和箭头功能感到困惑[重复]【英文标题】:Confusing on Reduce and Arrow function [duplicate] 【发布时间】:2022-01-11 16:48:21 【问题描述】:

我现在正在看下面的帖子 javascript Algorithm Attempting to Implement Call Back Function。我可以理解其他部分,但对以下代码特别困惑。 const sum = integerSet.reduce((total, item) => total + Math.pow(item, pow), 0);。 那么,最后添加 0 的目的是什么,如果我们从箭头函数更改为普通函数,是否会更改为 this? sum = integerSet.reduce(function(total, item) return total + Math.pow(item,power),0; ) 我已经搜索了几种reduce方法的用法,但仍然无法清楚地了解他是如何使用的,所以我决定在这里问一下。

【问题讨论】:

箭头函数结束于,... 【参考方案1】:

0 为您提供起点。从那里开始,一切都将在这个累加器的“顶部”进行计算。因此,在您的示例中,0 将是 item 开头。

【讨论】:

但不会减少方法,特别是从 null 开始“total”,然后在工作“item”之后添加。在 reduce(a,b)=> a + b 中,根据我的书,a 从 null 开始,这就是我感到困惑的原因 @echo developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… @echo 在[1, 2].reduce((a, b) => ...)中,直接用a = 1, b = 2调用函数。在[1, 2].reduce((a, b) => ..., 0) 中,它最初被称为a = 0, b = 1 null 是一个对象,零是一个数字。所以你确实有不同的数据类型。从 null 开始可能是可能的,但有点笨拙。但也许也有一个用例。

以上是关于对减少和箭头功能感到困惑[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我对多态性和类对象感到困惑[重复]

对WindowBuilder感到困惑[重复]

对 C# 循环中的多线程感到困惑 [重复]

使用双重逻辑非(!!)运算符感到困惑[重复]

对 Datatable 的排序方向箭头感到困惑

对 C# 6.0 中的字符串插值感到困惑 [重复]