简体   繁体   English

如何检查是否没有剩余的特定字符

[英]How to check if there is no specific character left

I'm creating a JavaScript game of Hangman (JavaScript only NO jQuery whatsoever) this is my code to replace all unguessed letters with an '_' 我正在创建一个Hangman的JavaScript游戏(JavaScript完全没有jQuery),这是我的代码,将所有未猜测的字母替换为'_'

function partialWords(random_word, letters) {
    var returnLetter = "";
    for (i = 0; i < random_word.length; i++) {
        if (letters.indexOf(random_word[i]) !== -1) {
            returnLetter = returnLetter + random_word[i];
        } else {
            returnLetter = returnLetter + ' _ ';
        }
    }
    return returnLetter;
}

I was just wondering if anyone would be able to help me with figuring out how to check if there are no more '_' left, thanks in advance! 我只是想知道是否有人可以帮助我弄清楚如何检查是否还剩下'_',在此先感谢您!

To find out if there are any _ in a given string: 要了解是否有任何 _一个给定的字符串:

if (stringVariableToCheck.indexOf('_') !== -1) {
    // there's at least one '_' in the string
}

To find out how many _ there are in that string: 要找出该字符串中有多少个 _

var numOfUnderScores = stringVariableToCheck.replace(/[^_]/g,'').length;

A somewhat contrived JS Fiddle demo (the demo does require an up-to-date browser, though). 人为设计的JS Fiddle演示 (该演示确实需要最新的浏览器)。

There is an indexOf method for a String Object too 字符串对象也有indexOf方法

if(returnLetter.indexOf('_') == -1) {

}

You can also hold missed letters in a separate Array 您还可以将丢失的字母保存在单独的数组中

function partialWords(random_word, letters) {
    var returnLetter = "";
    var missedLetters = [];
    for (i = 0; i < random_word.length; i++) {
        if (letters.indexOf(random_word[i]) !== -1) {
            returnLetter = returnLetter + random_word[i];
        } else {
            returnLetter = returnLetter + ' _ ';
            missedLetters.push(random_word[i]);
        }
    }

    if(missedLetters.length > 0) {
        // do something
        // send missed letters
        return missedLetters.join(', ');
    }
    return returnLetter;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM