我想計算字符串中的所有字符並將其返回給對象。我已經嘗試過,但我無法得到正確的答案。計算字符串中的所有字符
這是我的代碼:
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