Javascript中的重复结果

时间:2014-11-20 06:44:50

标签: javascript

我目前正在使用Javascript中的一些测试代码。当我在for..loop中的IF语句中插入..else {}时,如果语句为TRUE,则不应运行else {}下的过程,但它不会发生。输出始终显示消息"没有记录的位置"甚至声明都是正确的。

这里是Javascript的初学者。 : - )

这是示例代码。

function forLoops() {
  for (var x = 0; x < places.length; x++) {
  if(userInput === places[x]) {
    console.log("Your place input " + userInput + " is on our database.");
  } else {
    console.log("No place logged!");
    }
  }
}

4 个答案:

答案 0 :(得分:1)

您正在使用===而非==,这在javascript中表示相等且无类型转换。

所以如果userInput不是一个数字,但可能是数字“6”的6个,而不是相等的字符串。

使用==

检查您的功能

答案 1 :(得分:0)

解决了!

在声明变量时,我应该使用==而不是===

我在尝试和测试代码时意识到了这一点。

上面的答案支持我的答案。

答案 2 :(得分:-1)

此处根据您提供的代码

未定义userInput

另一件事是

如果您使用===,则在检查过程中不会使用转化。这是严格的比较,但如果您使用==,那么它将完成转换,然后相互映射。

试试这个

function forLoops(userInput) {
  for (var x = 0; x < places.length; x++) {
  if(userInput === places[x]) {
    console.log("Your place input " + userInput + " is on our database.");
  } else {
    console.log("No place logged!");
    }
  }
}

在调用期间将用户输入传递给foorloop

答案 3 :(得分:-1)

使用===时,您必须确保两个操作数的类型相同,例如'userInput'以及数组'places'中包含的所有元素。请按照评论中的建议尝试==