如果在比较时条件不能在javascript中工作

时间:2016-10-09 09:03:16

标签: javascript arrays

我试着循环一个单词并检查是否存在一个perticuler字母,但由于某种原因if语句中的条件不起作用。

Main.UpdateLetter = function(letter) {
    Main.Changes = 0;

    for(i = 0 ; i < Main.word.length ; i++){

        Main.wordArray[i] = Main.word.charAt(i);

        console.log(Main.wordArray[i]); 

        if (  Main.wordArray[i]  ==  d ) {
            alert("found letter");
        } else {
            console.log("not found");
        }
    }
}

4 个答案:

答案 0 :(得分:2)

为什么用这种方式执行此操作Java Script为您提供了许多选项,您可以使用JavaScript String includes()或indexOf()方法

包含()方法

var str = "Hello world, welcome to the universe.";
var n = str.includes("world");

n的结果将是: true includes()方法确定字符串是否包含指定字符串的字符。

如果字符串包含字符,则此方法返回true,否则返回false。

indexOf()方法

var str = "Hello world, welcome to the universe.";
var n = str.indexOf("welcome"); 

n的结果将是: 13 indexOf()方法返回字符串中第一次出现指定值的位置。

如果要搜索的值永远不会发生,则此方法返回-1。

答案 1 :(得分:1)

也许你试图以复杂的方式做到这一点。 尝试IndexOf功能。 此方法返回字符串中第一次出现指定值的位置。 如果要搜索的值永远不会发生,则此方法返回-1 例如:

var x = Main.word.indexOf("d");
if( x > -1 ){
    alert("found letter at position "+x);
}
else{
    alert("Letter not found");
}

答案 2 :(得分:0)

我认为这就是你想要的!

 for (var i = 0, len = Main.word.length; i < len; i++) {
      if(Main.word.charAt(i) == "A"){
         alert("found letter");
      }else{
         console.log("not found");
      }
  }

答案 3 :(得分:0)

很难弄清楚你想要做什么,我怀疑你正在尝试使用OOP方法来查找某个字符串中是否存在字母或perpaps方法名称UpdateLetter意味着你想要用其他字符串替换字母......

这是一个示例实现,它是如何使用原型继承constructorreplace方法实现的:

&#13;
&#13;
// object type definition (sometimes called "class")
function Main (word) {
  this.word = word;
};
Main.prototype.wordHasLetter = function(letter) {
  return this.word.indexOf(letter) !== -1;
};
Main.prototype.replaceLetterInWord = function(letter, replacement) {
  var regex = new RegExp(letter, "g");
  this.word = this.word.replace(regex, replacement);
};

// create instance of the type Main
var main = new Main("abcabc");

// sample usage of the methods
console.log("main.word is:", main.word)
if (main.wordHasLetter("a")) {
  console.log("found letter")
} else {
  console.log("not found")
}
main.replaceLetterInWord("a", "x");
console.log(main.word);
&#13;
&#13;
&#13;