我想计算字符串中的所有字符并将其返回给对象。我已经尝试过,但我无法得到正确的答案。计算字符串中的所有字符
这是我的代码:
function countAllCharacters(str) {
var a = str.split("");
var obj = {};
a.forEach(function(s){
var count=0;
for(var j=0;j<a.length;j++){
if(s==a[j]){
count+=1;
}
obj[a[j]]=count;
}
});
return obj;
}
console.log(countAllCharacters('banana'));
输出:
{ b: 0, a: 3, n: 2 }
这显然是错误的。
任何人都可以帮助我吗?我哪里出错了?
你为什么使用嵌套循环? – nnnnnn
你能否详细说明并给出正确的代码? –
你真的只需要'obj [s] =(obj [s] || 0)+ 1;'在forEach'回调中。但是,计数字符通常使用'reduce'而不是'forEach'完成。 – Xufox