我试着循环一个单词并检查是否存在一个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");
}
}
}
答案 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)
UpdateLetter
意味着你想要用其他字符串替换字母......
这是一个示例实现,它是如何使用原型继承constructor和replace方法实现的:
// 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;