Javascript 在switch构造中生成大量case语句
我有一个教育任务,我必须编写生成1000个case语句的函数Javascript 在switch构造中生成大量case语句,javascript,Javascript,我有一个教育任务,我必须编写生成1000个case语句的函数 function f(x) { // function let y; // variable switch (x) { // switch for(let z; z < 1000; z++){ // loop y = case x: alert('True'); break; retur
function f(x) { // function
let y; // variable
switch (x) { // switch
for(let z; z < 1000; z++){ // loop
y = case x:
alert('True');
break;
return y
}
}
}
函数f(x){//函数
设y;//变量
开关(x){//开关
对于(设z;z<1000;z++){//循环
y=情况x:
警报(“真”);
打破
返回y
}
}
}
我不知道如何以正确的方式循环使用案例陈述。首先,我不认为您所做的是正确的。不能向交换机添加案例。 也许我误解了,谁知道呢。但无论如何 在我看来,获得1000个只需发出警报的案例的最好方法是
function f(x) { // function
let text = `switch(x){`;
for(let z =0;z<1000;z++){
text+=`case ${z}:alert("true");break;`;
}
text+=`}`;
eval(text);
}
f(100);//true
f(1001); //nothing
函数f(x){//函数
让text=`开关(x){`;
例如(让z=0;z=0&&f你到底想完成什么?教育任务是什么,比如家庭作业或老师的作业(如果是这样,这是一个非常糟糕的作业)?这仅仅是为了生成1000个案例陈述?还是您有其他一些要求,这是您解决手头问题的方法?如果您描述了问题所在,我们可能能够提供替代解决方案,从您的示例中不清楚您为什么需要1000个案例陈述。您正在对每个案例进行相同的测试。也许你可以用一个更详细的例子来编辑这个问题,展示你真正想要实现的目标。如果你需要“池”,一个
switch
语句可能是错误的解决方案。只需使用If(x>0&&x<1000)else
链即可。需要1000个case语句,如:case 1:alert(1);break;case 2:alert(2);breakIMHO甚至显示'eval()'都是一个糟糕的主意“在一个循环中,大约3秒钟就会让你发疯。@ScottMarcus我修复了他的代码。并警告了他所有的事情。Eval有它的用途,在这种特殊情况下,需要它来修复它。真的没有任何用例需要Eval()
。有人说过Eval()
是使代码正常工作所必需的,这是因为建议的解决方案不适用于该问题。是的,eval()
需要以JavaScript形式执行字符串,但真正的解决方案是首先不采用这种方法,从而使用eval()
一个没有实际意义的观点。这个问题的最佳解决方案是首先拒绝建议解决方案的前提。这里需要的是循环中的三元语句。是的,但我相信堆栈溢出是回答这些问题的地方,即使它们很愚蠢。
function f(x){
if(x>=0&&f<=1000) alert("true");
}