对不起那个愚蠢的问题.如何在javascript switch-case语言元素中使用case的条件?如下例所示,当变量liCount<= 5且> 0 时,情况应匹配; 但是,我的代码不起作用:
switch (liCount) {
case 0:
setLayoutState('start');
var api = $('#UploadList').data('jsp');
api.reinitialise();
break;
case (liCount<=5 && liCount>0):
setLayoutState('upload1Row');
var api = $('#UploadList').data('jsp');
api.reinitialise();
break;
case (liCount<=10 && liCount>5):
setLayoutState('upload2Rows');
var api = $('#UploadList').data('jsp');
api.reinitialise();
break;
case (liCount>10):
var api = $('#UploadList').data('jsp');
api.reinitialise();
break;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议!
我有一个反映折扣百分比的数组,具体取决于订购的商品数量:
$rebates = array(
1 => 0,
3 => 10,
5 => 25,
10 => 35)
Run Code Online (Sandbox Code Playgroud)
意思是对于一件或两件物品,你没有得到回扣; 对于3个以上的项目,您获得10%,5个以上的项目,20%,10 + 35%等等.
对于任意数量的物品,是否有一种优雅的单线方式来获得正确的回扣百分比7?
显然,这可以通过一个简单的循环来解决:这不是我想要的.我很感兴趣是否有一个我不知道的核心数组或其他功能可以更优雅地做到这一点.
我要把接受的答案奖励给200分,但显然,我要等24小时,直到我能做到.问题解决了.
我目前正在接受关于Javascript的代码学院课程,并且我坚持使用FizzBuzz任务.我需要从1-20计算,如果数字可以被3个打印嘶嘶声,5个打印嗡嗡声,可以被两个打印fizzbuzz整除,否则只需打印数字.我能用if/else if语句来做,但是我想用switch语句来尝试它,并且无法得到它.我的控制台只记录默认值并打印1-20.有什么建议?
for (var x = 0; x<=20; x++){
switch(x){
case x%3==0:
console.log("Fizz");
break;
case x%5===0:
console.log("Buzz");
break;
case x%5===0 && x%3==0:
console.log("FizzBuzz");
break;
default:
console.log(x);
break;
};
};
Run Code Online (Sandbox Code Playgroud) 我刚刚开始学习 JavaScript 中的 switch 命令,并想知道是否可以构建案例以包含不等式(<、>、<=和>=),而不是等式(==)。另外,是否可以控制它是否是严格相等(===)?下面的代码甚至没有出现提示,所以我不确定我是否编码正确:
var a = prompt("Please input a number.");
switch (a) {
case { < 1 }:
alert("less than 1");
break;
case { < 2 }:
alert("less than 2");
break;
case { < 3 }:
alert("less than 3");
break;
default:
alert("greater than or equal to 3");
}Run Code Online (Sandbox Code Playgroud)