gpt4 book ai didi

javascript - 是否有更紧凑的方法来检查数字是否在某个范围内?

转载 作者:行者123 更新时间:2023-12-03 22:12:07 25 4
gpt4 key购买 nike

我希望能够测试一个值是否在数字范围内。这是我当前的代码:

if ((year < 2099) && (year > 1990)){
return 'good stuff';
}

有没有更简单的方法来做到这一点?比如说有这样的吗?

if (1990 < year < 2099){
return 'good stuff';
}

最佳答案

在许多语言中,第二种方式将根据您想要的内容从左到右错误地进行评估。

例如,在 C 语言中,1990 < year将计算为 0 或 1,然后变为 1 < 2099 ,当然,这总是正确的。

Javascript 与 C: 1990 < year 非常相似返回truefalse ,这些 bool 表达式在数值上看起来分别等于 0 和 1。

但是在 C# 中,它甚至无法编译,并给出错误:

error CS0019: Operator '<' cannot be applied to operands of type 'bool' and 'int'

您从 Ruby 中得到类似的错误,而 Haskell 告诉您不能使用 <在同一个中缀表达式中出现两次。

在我看来,Python 是唯一一种我确信能够以这种方式处理“之间”设置的语言:

>>> year = 5
>>> 1990 < year < 2099
False
>>> year = 2000
>>> 1990 < year < 2099
True

底线是第一种方式 (x < y && y < z)永远是您最安全的选择。

关于javascript - 是否有更紧凑的方法来检查数字是否在某个范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4408676/

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