使用subtr函数的问题

问题描述

我正在从事一个子手游戏项目,但用正确猜出的字母替换特定的空白时遇到麻烦。我遇到麻烦的地方是粗体函数replaceAt()。如果单词是“ potato”,并且用户猜到了字母“ a”,则该单词将变为6个空格。猜测的索引是i或3。但是,代码日志的最后一行是:_ _ a _ _ _ _

为什么a位置错误?我也意识到最后还有一个额外的空白。

   var domStrings = {
  word : document.querySelector('#word'),guess : document.querySelector('#guess')
}



var gameController = function(){
  //1. create number of dashes according to input.length
  setup();
  //2. create function where if input includes guess the dash turns to that letter
  checker();
  //3. else turn counter runs down

}


var setup = function (){
  var dashes,dashes = '_ '.repeat(input.length);
  word.textContent = dashes;
}


var checker = function(){
  var arr,rightGuess,blanks;
  submit.addEventListener('click',function(){
    blanks = String(word.textContent);
    if(input.includes(guess.value)){
      //1. convert str to array
      console.log('this is a correct guess');
      arr = (input.split(''));
      //2. for each element in array compare to guess
      for (i = 0; i < input.length; i++){
        if(guess.value === arr[i]){
          replaceAt(blanks,i,domStrings.guess.value);

**var replaceAt = function (blanks,letter){

      console.log(`${blanks.substr(0,i)} ${letter} ${blanks.substr(i+1)}`);**

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)