Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个字符计数代码的逻辑错误是什么?_Javascript_String_Character - Fatal编程技术网

Javascript 这个字符计数代码的逻辑错误是什么?

Javascript 这个字符计数代码的逻辑错误是什么?,javascript,string,character,Javascript,String,Character,我真的处于停滞状态,不明白为什么这不能像预期的那样起作用。它应该输出单词Missisipi中字母s出现的数量的数字4。我是javascript新手,因此非常感谢您的帮助。 利亚姆 函数countCharacterstarget,输入{//定义函数时,参数为目标和输入 var count=0;//在for循环之前将count设置为0 对于var i=0;i

我真的处于停滞状态,不明白为什么这不能像预期的那样起作用。它应该输出单词Missisipi中字母s出现的数量的数字4。我是javascript新手,因此非常感谢您的帮助。 利亚姆

函数countCharacterstarget,输入{//定义函数时,参数为目标和输入 var count=0;//在for循环之前将count设置为0 对于var i=0;i 注意:JS中的return语句不能返回两项。如果使用逗号分隔的列表(例如目标、输入),将返回最后一项

函数countCharacterstarget,输入{ var计数=0; 对于变量i=0;iconsole.LogCountCharacters,密西西比州 事情是这样的:您尝试通过indexOf访问字母-最好通过索引访问它,而且函数必须只返回一个东西,而您的函数返回两个

function countCharacters(target, input) { 
  let count = 0; 
  for (let i = 0; i < input.length; i++) { 
    if (input[i] === target) { 
      count++; 
    }
  } 
  return count;
}

console.log(countCharacters("s", "Mississippi"));

在这里,您正在与索引和目标进行比较。您应该获得当前角色,然后进行比较。正如我在下面所做的,它可能会帮助你

函数countCharacterstarget,输入{//定义函数时,参数为目标和输入 var count=0;//在for循环之前将count设置为0 对于var i=0;iconsole.LogCountCharacters,密西西比州;看起来“indexOf”函数需要一个字符,它会告诉您找到该字符的索引位置。但是您正在传递索引值本身。尝试使用“charAt”,我想这是您想要使用的。