javascript - 当你没有积累任何东西时,什么是减少使用

标签 javascript

reducers.reduce(
  (p, r) => r(p, current),
  previous,
);

Reducer 是一组函数 r(p, current) 将返回一个对象。我试图从这里理解源代码 https://github.com/dvajs/dva/blob/master/packages/dva-core/src/handleActions.js但与此声明有点混淆。它减少到什么?

我试过使用 reduce 函数,它似乎只是取最后一个值(如果我没有像在这种情况下那样转换值)?

var array1 = [0, 1, 2, 3];
const result = array1.reduce((accumulator, currentValue) => currentValue);
console.log(result);

最佳答案

基本上,是的,.reduce() 的结果是累加器函数的最后一个返回值。

在您的示例中,因为您只是返回当前值,所以最后一个将是您的结果。

如果你真的对这个值做了一些事情,你会看到一个变化。例如,这是一个简单的示例,它对数组中的所有值求和:

const sum = [1,2,3,4,5].reduce((result, current) => result + current, 0);
console.log(sum);

在第一个片段中,它可能遍历数组 reducers,这可能是一个转换值的函数数组,每个 r 返回转型。

这是对数据执行任意操作的一种相当常见的模式(Redux 是另一个使用这种模式的常用库)。

关于javascript - 当你没有积累任何东西时,什么是减少使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535254/

相关文章:

php - 不使用表单或 session 发送 php 值?

javascript - 如何清理多个空格/换行符?

javascript - 在 Drupal 中使用 Jquery 编辑隐藏表单字段

javascript - 积分计算错误

javascript - 如何传递多个参数以与 Ramda.JS 组合

javascript - jQuery 试图处理 ajax 失败和成功不起作用

javascript - 将 OnClick 事件添加到条形图

javascript - 点击事件带来单个用户的问题

javascript - 无法从子组件访问状态

javascript - 使用 Chrome/Chromium 使用 WWW::Mechanize::Chrome 从服务器获取 "raw"jss 和 css 代码