【发布时间】:2019-08-17 11:40:09
【问题描述】:
我正在编写代码 kata,其中涉及获取一系列足球比分,例如
["3:1", "2:2"] (Total points here would be 4, 3 + 1)
并应用一些规则,然后总结要点。解决方案之一是:
const points = g => g.reduce((a, [x, _, y]) => a + (x > y ? 3 : x == y), 0)
为了澄清,规则是,如果第一个值大于第二个返回 3,如果相等返回 1,否则返回 0,类似于足球比赛计分系统。
在这种情况下“x == y”部分如何工作,这里的规则是如果“x == y”则应返回一个点。
如果有人可以用一个简单的例子来解释这一点,那将对我有帮助,谢谢。
附带说明,如果有人可以解释“[x, _, y]”,我也将不胜感激。我知道它应该代表数组中的当前项,但是当前项是一个字符串,而不是数组,那么这里发生了什么?
【问题讨论】:
-
分数“1:3”返回什么值?
-
用规则信息更新帖子。
-
我认为这是你的减速器
const reducer = (a, [x, _ , y]) => a + (x > y) ? 3 : x == y而不是你的问题
标签: javascript arrays ecmascript-6 reduce