如何在JavaScript中查找字符串中的字符?

时间:2018-01-08 07:21:05

标签: javascript

我正在做JavaScript课程,并坚持这个问题。

定义一个名为countLetters的函数,它接收两个参数:

1) sentence  - type: string
2) character - type: string

该函数应返回character中存在的每个sentence的计数。

提示:您可以访问字符串中的单个字符,就像访问数组中的元素一样 - myString[3]将访问第三个字符

这是我到目前为止所做的。

function countLetters(sentence, character) {
 for(let i=0; i <= sentence.length; i++) {
  let count = character[i];
  return sentence.match(count).length;
 }
}

谢谢!

4 个答案:

答案 0 :(得分:0)

遍历句子并在找到角色时增加计数器

function countLetters(sentence, character) {

 var count = 0
 for(let i=0; i < sentence.length; i++) {
     if (sentence.charAt(i) === character)
          counter++;    
 }

 return counter 

}

答案 1 :(得分:0)

&#13;
&#13;
function countLetters(sentence, character) {
var count = 0;
 for(let i=0; i <= sentence.length; i++) {
  if(character == sentence[i]){
    count++;
  }
 }
 return count;
}

console.log(countLetters("The quick brown fox jumps over the lazy dog","o"));
&#13;
&#13;
&#13;

  

您可以访问字符串中的单个字符,就像访问数组中的元素一样

这意味着您可以使用访问字符串的每个字符,例如&#34;句子[i]&#34;然后比较所需的字符,如character == sentence [i]。

答案 2 :(得分:0)

算法很简单。维护一个局部变量来计算一个字母的出现次数。当您遍历sentence中的每个字符时,如果它与character匹配,则递增计数器。最后,返回计数器的值

function countLetters(sentence, character) {
  let count = 0;
  for (let i = 0; i < sentence.length; i++) {
    if (sentence[i] === character) {
      count++;
    }
  }
  return count;
}

console.log(countLetters('apple', 'p')); // 2
console.log(countLetters('watermelon', 'e')); // 2
console.log(countLetters('mississippi', 's')); // 4

这是一个只为了好玩的单行:

function countLetters(sentence, character) {
  return sentence.split('').reduce((acc, char) => acc + Number(char === character), 0);
}

console.log(countLetters('apple', 'p')); // 2
console.log(countLetters('watermelon', 'e')); // 2
console.log(countLetters('mississippi', 's')); // 4

答案 3 :(得分:-1)

考虑到只需要检查字符串中的一个字符数。

此代码可以提供帮助。

 var mstring = My name is jhone doe;
 var mchar = o;
 function countLetters(string, char){
     var count = 0;
     if(string[i] == char){
        count++;
     }
     return count;
  }
 console.log(countLetters(mstring, mchar));

它将输出2.因为o在给定的字符串中出现2次。