首页 > 解决方案 > 逻辑运算和大于的Javascript问题

问题描述

你好,我正在学习 JavaScript,我有一个问题,我做了简单的算法来检查“如果有什么”。我的问题是关于这条线if(dolphins && koalas > minimumScore)。在我看来这不合逻辑,但它以我想要的方式工作。因为一开始我想检查海豚或考拉是否> minimumScore(所以我使用了||)。但是当我将两个团队的值都设置为低于 100 时,它会继续进入下一个if区块,else if但不会进入 else 语句。所以我不得不使用 && 并且它有效,如果两个团队都低于 100,它会转到 else,当至少一个团队高于 100 时,它会转到下一个“if”。

let dolphins = 11;
let koalas = 11
const minimumScore = 100

if(dolphins && koalas > minimumScore){
    if(koalas > dolphins){
        console.log(`Koalas won! {$koalas}`)
    } else if(koalas===dolphins){
        console.log('draw')
    } else {
        console.log('dolphins won!')
    }
} else{
    console.log('no team won')
}

标签: javascript

解决方案


所以(dolphins && koalas > minimumScore)不检查 dolphins 是否大于 minimumScore 和 koalas 是否大于 minimum score。它正在检查海豚是否“真实”以及考拉是否大于 minimumScore。如果你想检查一个或另一个是否大于你必须写的最低分数。

(dolphins > minimumScore || koalas > minimumScore)

更多关于真实值的信息 https://developer.mozilla.org/en-US/docs/Glossary/Truthy


推荐阅读