好的,所以我正在尝试编写一些代码来确定静态数组中的值是正数,负数还是等于零。
因此填充了数组,并且我将使用switch语句来查看值和输出文本,具体取决于它是高于,低于还是等于零。
这是迄今为止我一直在做的一些代码。
请保留与开关使用相关的答案!提前致谢。
注意:我在教自己JS,所以我是新手。到目前为止,这是我的代码:
// JavaScript Document
var numbers=new Array();
numbers[0]="1";
numbers[1]="2";
numbers[2]="3";
numbers[3]="-1";
numbers[4]="-2";
numbers[5]="-3";
numbers[6]="0";
switch (numbers) {
case "positive":
if (numbers>0)
{alert("DERP")};
break;
case "negative":
if (numbers<0)
{alert("NO DERP")};
break;
case "zero":
if (numbers==0)
{alert("STILL DERP")};
break;
}
答案 0 :(得分:3)
您需要遍历数组,并检查每个元素。 switch
不是正确的工具,它不会做你想要的。 switch
可能是if/else
的一种方式,但它们只检查相等,不小于/大于。
var str = 'a'
switch(str){
case 'a':
alert(1);
break;
case 'b':
alert(2);
break;
default:
alert(0);
break;
}
此警告1
。
如果str
的值与其中一个case
语句匹配(您无法在<
中使用>
或case
),则代码会跑。否则defualt
将运行。它们不是“标签”,因此检查case
内的值是没有意义的。
您需要循环,然后只使用if/else
。
for(var i=0, len=numbers.length; i<len; i++){
var num = numbers[i];
if(num > 0) alert('DERP');
else if(num < 0) alert("NO DERP");
else alert("STILL DERP");
}
答案 1 :(得分:1)
您比较字符串和数字。 数组中的数字被&#34;&#34;包围。 :这个make string。你应该删除这些&#34;&#34;在你的数组中或添加&#34;&#34;在你的开关。