0

コードを機能させるために助けが必要です。配列をループし、if コマンドを使用して配列がそこにあることを確認できるようにしたいと考えています。

arr = ["1","2","3","4"];
for (var i = 0; i < arr.length; i++) {
   if (string != arr[i]) {
  //do something
   }
}

しかし、うまくいきません。if コマンドは無視します。

    var arr = ["150","-75"];

right = righ + "px";
leftpl=left * 1; 
    if (left < 325){        
leftplu = leftpl + 10; leftplus = leftplu + 'px ';
    for (var i = 0; i < arr.length; i++) {
    if (leftplus+right != arr[i]){
document.getElementById("new").innerHTML=leftplu+'px ' + righ+'px';
        }
    }
    }

または、「if (leftplus+right != arr[i])」のように for ループを「if (leftplus+right != for for (var i = 0; i < arr.length; i++) {arr [私]})"

理解に苦しむことをお詫び申し上げます。私はjavascriptが初めてで、学ぼうとしています。

4

2 に答える 2

2

これを変える:

string != arr[i]

これに:

typeof arr[i] != "string"

JavaScript は緩く型付けされた言語であるため、キーワードはありませんstring。代わりに、上記のように、typeof演算子を使用して、そのオペランドのデータ型を文字列として取得できます。

この変更により、最終的なコードは次のようになります。

arr = ["1","2","3","4"];
for (var i = 0; i < arr.length; i++) {
   if (typeof arr[i] != "string") {
       //do something
   }
}
于 2012-07-10T01:50:13.980 に答える
1

この行: "leftplus+right"

「123px456px」のような文字列が含まれている場合、これらを配列値と比較しても意味がありません...

これらの文字列を接続するのではなく、数字を足し合わせるつもりだったと思います

于 2012-07-10T05:33:09.240 に答える