javascript - 类似于 map 的 ES6 函数
问题描述
我遇到了可能就像map
函数一样的代码,但我不理解所有语义。看看这段代码:
const reduce = (reducer, accumulator) => arr => {
const [first, ...rest] = arr
return arr.length
? reduce(reducer, reducer(accumulator, first))(rest)
: accumulator
}
reduce((accum, current) => [...accum, current * 2], [])([1, 2, 3]);
你能解释一下这段代码是如何工作的吗?
为什么
...accum
第一个 arg 但应该是最后一个,并且...accum
在这个例子中是什么意思?为什么在
reduce
第一个 reducer 中调用时没有任何参数?
解决方案
推荐阅读
- ios - 如何使用 SpriteKit 场景中自定义按钮子类的 touchesEnded 执行操作?
- angular - SignalR 连接协商失败
- r - Tidyverse 等价于 Spark 的多项式展开函数
- html - CSS:水平溢出表格
- c++ - 分离线程中的 OpenAL alSourcePlay()
- google-cloud-platform - 如何配置端点和 esp 以发布启用了 ServerReflection 功能的 gRPC
- python - 在 Python 中实现 DNS 消息 NAME 压缩算法
- python - 在 include 中使用命名空间有什么意义?(Django 2.0)
- msbuild - 将 msbuild 参数传递给 dotnet run 命令
- mysql - SQL 从另一个表中的一个表中选择多个字段