JavaScript字符统计需求:排除空格并统计字母频次
解决字符频次统计排除空格的问题
现有代码会将空格也纳入字符频次统计,要实现排除空格的需求,有两种简洁的修改方式:
方法一:循环中直接跳过空格
在遍历字符的过程里,判断当前字符为空格时直接跳过,不进行频次统计:
let phrase = prompt('Enter the phrase') function letter(phrase) { let frequency = {} for(let letter of phrase){ // 补充let声明避免全局变量污染 if(letter === ' ') continue; // 遇到空格直接跳过统计 if(letter in frequency){ frequency[letter]++ } else{ frequency[letter]=1 } } return frequency } console.log(letter(phrase))
方法二:先移除字符串内所有空格
提前将输入短语中的空格全部清除,再传入统计函数处理,函数本身无需修改:
let phrase = prompt('Enter the phrase') phrase = phrase.replaceAll(' ', ''); // 移除所有空格 function letter(phrase) { let frequency = {} for(let letter of phrase){ if(letter in frequency){ frequency[letter]++ } else{ frequency[letter]=1 } } return frequency } console.log(letter(phrase))
你之前使用split方法得到单词计数,是因为split(' ')会将字符串按空格分割为单词数组,这和单个字符统计的需求不匹配,上述两种方法更贴合你的实际需求。
内容的提问来源于stack exchange,提问作者Hemant Sharma
相关产品推荐
相关产品推荐

