0

わかりましたので、静的配列の値が正、負、またはゼロに等しいかどうかを判断するコードを記述しようとしています。

そのため、配列にデータが入力され、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;
}
4

2 に答える 2

3

配列をループして、各要素をチェックする必要があります。Aswitchはここでは適切なツールではありません。目的の機能はありません。 switches は 1 つの方法かもしれませんが、if/else等しいかどうかのみをチェックします。

var str = 'a'

switch(str){
    case 'a':
        alert(1);
        break;
    case 'b':
        alert(2);
        break;
    default:
        alert(0);
        break;
}

これは警告し1ます。

の値がstrいずれかのステートメントと一致する場合 ( でorをcase使用することはできません)、コードが実行されます。それ以外の場合は実行されます。それらは「ラベル」ではないため、s 内の値をチェックしても意味がありません。<>casedefualtcase

ループする必要があり、それから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");
}
于 2012-06-28T19:47:56.470 に答える
1

文字列と数値を比較します。配列内の数値は "" で囲まれています。これにより、文字列が作成されます。これらの "" を配列から削除するか、スイッチに "" を追加する必要があります。

于 2012-06-28T19:41:35.733 に答える