【发布时间】:2020-07-19 17:39:49
【问题描述】:
我正在关注 James Moore 的 JavaScript 初学者函数式编程课程。但是,我目前难以理解以下代码:
const reviews = [4.5, 4.0, 5.0, 2.0, 1.0, 5.0, 3.0, 4.0, 1.0, 5.0, 4.5, 3.0, 2.5, 2.0];
const countGroupedByReview = reviews.reduce(groupBy, {});
function groupBy (acc, review){
const count = acc[review] || 0;
return {...acc, [review]: count + 1}
}
虽然我了解 reduce 方法的工作方式,但我很难理解 groupBy 功能块中的代码。我相信这与计算的属性名称有关。如果有任何帮助,我将不胜感激。
谢谢。
【问题讨论】:
-
代码比它需要的更复杂。传播只是矫枉过正。是做什么的:
function groupBy (acc, review){ const count = acc[review] || 0; acc[review] = count + 1; return acc; }
标签: javascript arrays object reducers computed-properties