gpt4 book ai didi

javascript - 试图理解这个例子中的三元条件逻辑

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:27 26 4
gpt4 key购买 nike

我正在做一个代码套路,其中涉及获取一系列足球比分,例如

["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]”,我也将不胜感激。我知道它应该代表数组中的当前项,但当前项是一个字符串,而不是数组,所以这里发生了什么?

最佳答案

这归结为 JavaScript 如何解释 true 和 false。在控制台中尝试以下操作:

let x = 1;
let y = 2;
2 + (x == y);

我们在这里期待什么? x == y 被评估为 false 所以最后一行真的是:

2 + (false);

然后为了解析加法,它将 false 强制转换为数字。在 JavaScript 中,false 为 0。所以它实际上是:

2 + 0

现在试试这个:

let x = 1;
let y = 1;
2 + (x == y);

我们现在期待什么?由于 x == y 现在将评估为 true 并且 true 将被强制转换为 1 这实际上是:

2 + 1;

关于javascript - 试图理解这个例子中的三元条件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55368157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com