javascript - 编写一个函数,接收一个字符串并返回每个字符串的计数
问题描述
我真的被困在解决这个简单的问题上。无论如何,我找到了另一种解决此问题的方法,但我无法弄清楚我的代码的问题。
function charCout(str)
{
str = str.toLowerCase();
var f = {};
for(let i =0;i<str.length;i++)
{
if(str[i] === " ")
{
continue;
}
else{
if(str[i] in Object.keys(f))
{
f[str[i]] += 1;
}
else
{
f[str[i]] = 1;
}
}
}
return(f);
}
input: charCout("my name is Khan23")
expected output: {2: 1,3: 1,a: 2,e: 1,h: 1,i: 1,k: 1,m: 2,n: 2,s: 1,y: 1}
what i got: {2: NaN,3: NaN,a: 1,e: 1,h: 1,i: 1,k: 1,m: 1,n: 1,s: 1,y: 1}
解决方案
只需通过类型强制查看属性是否存在,例如:if(f[str[i]])
function charCount(str)
{
str = str.toLowerCase();
var f = {};
for(let i =0;i<str.length;i++)
{
if(str[i] === " ")
{
continue;
}
else{
if(f[str[i]])
{
f[str[i]] += 1;
}
else
{
f[str[i]] = 1;
}
}
}
return(f);
}
console.log(charCount('the value is 0000'))
推荐阅读
- python - Geopandas 空间连接失败 - 不支持的格式字符串
- react-native - React Native 是否有相对于字体的大小单位?
- pivot-table - 使用 DAX 计算涉及事实表上日期的度量
- ios - 有没有办法获取从文档目录生成并保存到 ibooks 或电子邮件的 pdf?
- javascript - 如何使用脚本应用程序在 Java 脚本中执行呼叫签名?
- python - 优化保存和读取 django mysql 对象
- git - 在 Windows 10 上,将 GIT 与 Unity 一起使用总是会创建 index.lock 文件并且无法提交
- java - 离线工作的 Android 中的文本转语音
- sql - 未终止的美元报价
- visual-studio - 如何获取 cmd 脚本源的文件夹,或将其源文件夹设置为当前文件夹?