【发布时间】:2018-10-27 22:23:53
【问题描述】:
我正在尝试使用对象作为 JavaScript 中的计数器,以查找单词中重复次数最多的字母,但不知何故,该函数无法按我的预期工作。例如,当我调用findMaxRepeatCountInWord('expected') 时,letterCount 对象的值最终为{ e: 1, x: 1, p: 1, c: 1, t: 1, d: 1 }。我的代码有什么问题? e 的值不应该是 3 吗?
我的代码:
function findMaxRepeatCountInWord(word){
var letterCount = {};
word.split('').map(function(v){
if(letterCount[v] != true){ letterCount[v] = 1 }
else(letterCount[v] ++)
});
return Object.values(letterCount).sort((a,b) => b-a)[0]
}
findMaxRepeatCountInWord('expected')
【问题讨论】:
-
不是....我尝试将 else{} 语句中的条件更改为 'console.log(v)' 并且效果很好 - 它会打印出两次 'e'。所以这个函数肯定飞到了 else{} 语句中,我只是不明白为什么里面的动作没有实现。
-
但是有三个
es。它计数 1, 2, 1
标签: javascript object counter