【发布时间】:2019-07-26 18:00:19
【问题描述】:
我确实被困在解决这个简单的问题上。无论如何,我找到了另一种解决此问题的方法,但我无法找出我的代码的问题。
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}
【问题讨论】:
-
您只需要
str[i] in f,而不是str[i] in Object.keys(f)。如果您要获取所有键的数组,则需要执行Object.keys(f).includes(str[i])(但这非常低效)。
标签: javascript