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/