开发者问题收集

Javascript 数组和循环

2012-07-10
111

我需要帮助才能使我的代码正常工作。我希望能够循环我的数组并使用 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[i]})”

我很抱歉,因为我理解得不太好。我是 javascript 新手,正在努力学习。

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
   }
}
jeff
2012-07-10

此行: “leftplus+right”

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

我猜你的意思是将数字相加,而不是连接这些字符串

ttt
2012-07-10