【发布时间】:2019-03-03 08:49:45
【问题描述】:
reduce 不会将累加器初始化为零?因为下面的例子发生了,我看不懂。
const r = (acc, curr) => acc |= (1 << curr);
let x;
x |= (1 << 0);
console.log(x); // -> 1 - OK
console.log([0].reduce(r)); // -> 0 - ???
以及如何按我的预期正确获得 1 而不做类似[0, 0].reduces(r); 的事情。
【问题讨论】:
-
reduce(r, 0)...即您想初始化累加器(讽刺的是,答案就在您的问题中) -
.reduce(func, initValue)? -
@Jaromanda 是的,这是疏忽,谢谢。
标签: javascript ecmascript-6 reduce