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';
        }
    }
    }

或者我可以将 for 循环放在“if (leftplus+right != arr[i])” 中,例如“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

这一行:“左加右”

包含像“123px456px”这样的字符串,将它们与数组值进行比较是没有意义的......

我猜你的意思是把数字加在一起而不是连接这些字符串

于 2012-07-10T05:33:09.240 回答