当前位置: 首页 > 知识库问答 >
问题:

打开JavaScript中的整数范围[duplicate]

詹正浩
2023-03-14

我想做这样的事

    switch (this.dealer) {
        case 1-4: 
            // Do something.
            break;
        case 5-8: 
            // Do something.
            break;
        case 9-11: 
            // Do something.
            break;
        default:
            break;
    }

正确的语法是什么?在JavaScript中可能吗?

所以this.dealer是一个整数,如果它介于这两个值之间,请执行某些操作。

共有3个答案

宇文鸣
2023-03-14
    switch(this.dealer) {
        case 1:
        case 2:
        case 3:
        case 4:
            // Do something.
            break;
        case 5:
        case 6:
        case 7:
        case 8:
            // Do something.
            break;
        default:
            break;
    }

如果您不喜欢连续的事例,只需使用If/else If/else语句即可。

太叔马鲁
2023-03-14

增加MarvinLabs的答案,使其更干净:

var x = this.dealer;
switch (true) {
    case (x < 5):
        alert("less than five");
        break;
    case (x < 9):
        alert("between 5 and 8");
        break;
    case (x < 12):
        alert("between 9 and 11");
        break;
    default:
        alert("none");
        break;
}

没有必要检查范围的下端,因为break语句将导致执行跳过其余情况,因此当执行开始检查时,例如(x<9),我们知道该值必须是5或更大。

当然,只有当大小写保持原始顺序时,输出才是正确的,并且我们假设整数值(如问题中所述)--从技术上讲,范围在5到8.999999999999之间,因为js中的所有数字实际上都是双精度浮点数。

如果您希望能够移动大小写,或者发现在每个大小写语句中显示整个范围更易读,只需为每个大小写的较低范围添加一个小于或等于检查:

var x = this.dealer;
switch (true) {
    case (x < 5):
        alert("less than five");
        break;
    case (x >= 5 && x < 9):
        alert("between 5 and 8");
        break;
    case (x >= 9 && x < 12):
        alert("between 9 and 11");
        break;
    default:
        alert("none");
        break;
}

请记住,这增加了一个额外的人为错误点--有人可能试图更新一个范围,但忘了在两个地方都更改它,留下了一个重叠或空白而没有覆盖。例如,在这里,8的大小写现在将不匹配任何东西,当我只是编辑过去匹配8的大小写。

    case (x >= 5 && x < 8):
        alert("between 5 and 7");
        break;
    case (x >= 9 && x < 12):
        alert("between 9 and 11");
        break;
谷博艺
2023-03-14

下面是我的另一种解决方法:

const x = this.dealer;
switch (true) {
    case (x < 5):
        alert("less than five");
        break;
    case (x < 9):
        alert("between 5 and 8");
        break;
    case (x < 12):
        alert("between 9 and 11");
        break;
    default:
        alert("none");
        break;
}
 类似资料:
  • 问题内容: 我想做这样的事情 正确的语法是什么?JavaScript可能吗? 所以是一个整数,如果它在这些值之间,请执行某些操作。 问题答案: 这是我想出的另一种方法:

  • 问题内容: 在Python中,有没有一种方法可以获取可以使用的最大整数?是否有一些像INT_MAX这样的预定义常量? 问题答案: Python具有任意精度的整数,因此没有真正的固定最大值。您仅受可用内存的限制。 在Python 2中,有两种类型,int和long。ints使用C类型,而longs是任意精度。您可以使用查找最大值int。但是int会自动将提升为long,因此您通常不必担心: 工作正常

  • 本文向大家介绍JavaScript中的数值范围介绍,包括了JavaScript中的数值范围介绍的使用技巧和注意事项,需要的朋友参考一下 JavaScript中所有的数字,无论是整数还是小数,其类型均为Number。在程序内部,Number类型的实质是一个64位的浮点数,这与Java中double类型的浮点数是一致的;因此,JavaScript中所有的数都是浮点数。遵循IEEE 754标准(浮点数算

  • 问题内容: 如何在JavaScript中的两个指定变量之间生成随机整数,例如,并输出以下任何内容? 问题答案: 一些示例: 这是背后的逻辑。这是三个简单的规则: 返回介于0(含)和1(不含)之间的。所以我们有一个这样的间隔: 现在,我们想要一个介于(含)和(不含)之间的数字: 我们可以使用来获取[min,max)间隔中的对应对象。但是,首先我们应该通过从第二个间隔中减去一点来解决这个问题: 这给出

  • 主要内容:标签属性,JSF验证整数范围实例标签用于验证特定范围内的长值。 以下代码显示如何使用标记 - 标签属性 属性 说明 minimum 在可选范围内最小长度值 maximum 在可选范围内最大长度值 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateIntRange,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml

  • 本文向大家介绍如何在JavaScript中生成特定范围内的随机整数?,包括了如何在JavaScript中生成特定范围内的随机整数?的使用技巧和注意事项,需要的朋友参考一下 要生成随机数,请使用JavaScript Math.random()方法。在这里设置最小值和最大值,并在它们之间生成一个随机数,如以下代码所示: 示例

  • 问题内容: 我已经阅读过Java的作用域链,但对我来说却没有任何意义,有人可以告诉我什么是作用域链,以及作用域与图形或什至是白痴都能理解的方式。我用谷歌搜索,但没有找到可理解的东西:( 问题答案: 要了解作用域链,您必须知道闭包是如何工作的。 当您嵌套函数时,会形成一个闭包,内部函数即使在其父函数已经执行后,也可以引用其外部封装函数中存在的变量。 JavaScript通过遍历范围链(从本地到全局)

  • 问题内容: 我有两个值: [3:6] 我试图在Golang中玩一些游戏,但是我找不到能够根据这些值创建数组的好方法。 我要实现的目标是: 问题答案: 您可以利用该构造使其更紧凑甚至更快: 出于好奇,可以在不使用循环变量的情况下实现循环,但是这样会更慢,并且代码也更长。通过递减: 或递增: