将大小写切换到/之间

发布于 2024-12-21 06:41:32 字数 229 浏览 2 评论 0原文

Javascript 有没有一种方法可以通过 switch case 结构将一个整数与另一个整数进行比较,而不使用 if 语句?

例如

switch(integer) {
    case 1 to 10:
        break;
    case 11 to 20:
        break;
    case 21 to 30:
        break;
}

Is there a way in Javascript to compare one integer with another through switch case structures without using if statements?

E.g.

switch(integer) {
    case 1 to 10:
        break;
    case 11 to 20:
        break;
    case 21 to 30:
        break;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

负佳期 2024-12-28 06:41:32

您可以进行一些数学运算。

switch(Math.ceil(integer/10)) {
    case 1: // Integer is between 1-10
        break;
    case 2: // Integer is between 11-20
        break;
    case 3: // Integer is between 21-30
        break;
}

You can do some math manipulations.

switch(Math.ceil(integer/10)) {
    case 1: // Integer is between 1-10
        break;
    case 2: // Integer is between 11-20
        break;
    case 3: // Integer is between 21-30
        break;
}
好听的两个字的网名 2024-12-28 06:41:32

有办法,是的。我很确定我会在自己的代码中使用 if/else 结构,但如果您热衷于使用开关,则以下内容将起作用:

switch(true) {
   case integer >= 1 && integer <= 10:
      // 1-10
      break;
   case integer >= 11 && integer <= 20: 
      // 11-20
      break;
   case integer >= 21 && integer <= 30:
      // 21-30
      break;
}

当然,如果您想避免编写 >= && <= 在每种情况下,您都可以定义自己的 isInRange(num,mi​​n,max) 类型函数来返回布尔值,然后说:

switch (true) {
   case isInRange(integer,1,10):
      // 1-10
      break;
   // etc
}

There is a way, yes. I'm pretty sure I'd use an if/else structure in my own code, but if you're keen to use a switch the following will work:

switch(true) {
   case integer >= 1 && integer <= 10:
      // 1-10
      break;
   case integer >= 11 && integer <= 20: 
      // 11-20
      break;
   case integer >= 21 && integer <= 30:
      // 21-30
      break;
}

Of course if you wanted to avoid having to code >= && <= on every case you could define your own isInRange(num,min,max) type function to return a boolean and then say:

switch (true) {
   case isInRange(integer,1,10):
      // 1-10
      break;
   // etc
}
白云不回头 2024-12-28 06:41:32

正如我的评论中所述,你不能这样做。但是,您可以定义一个 inRange 函数:

function inRange(x, min, max) {
    return min <= x && x <= max;
}

并将其与 if - else if 一起使用。这应该使它很容易阅读:

if(inRange(integer, 1, 10)) {

}
else if(inRange(integer, 11, 20)) {

}

//...

As stated in my comment, you can't do that. However, you could define an inRange function:

function inRange(x, min, max) {
    return min <= x && x <= max;
}

and use it together with if - else if. That should make it quite easy to read:

if(inRange(integer, 1, 10)) {

}
else if(inRange(integer, 11, 20)) {

}

//...
年少掌心 2024-12-28 06:41:32

发布“酷”语法:P

if( integer in range(0, 10 ) ) {

}
else if ( integer in range( 11, 20 ) ) {



}
else if ( integer in range( 21, 30 ) ) {



}

function range( min, max ){
var o = {}, i ;
    for( i = min; i <= max; ++i ) {
    o[i] = !0;
    }
return o;
}

Posting for "cool" syntax :P

if( integer in range(0, 10 ) ) {

}
else if ( integer in range( 11, 20 ) ) {



}
else if ( integer in range( 21, 30 ) ) {



}

function range( min, max ){
var o = {}, i ;
    for( i = min; i <= max; ++i ) {
    o[i] = !0;
    }
return o;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文