Everyone once in a while it's good to complete a fun vanilla JavaScript exercise. One recent exercise I tried was to find the number of occurrences of each letter in specified string. The following was my method.
每个人偶尔都要完成一个有趣的原始JavaScript练习。 我尝试的最近一项练习是查找指定字符串中每个字母的出现次数。 以下是我的方法。
JavaScript (The JavaScript)
/* returns the size/length of an object */
Object.size = function(obj) {
var size = 0;
for(key in obj) {
if(obj.hasOwnProperty(key)) size++;
}
return size;
}
//initial vars
var str = 'hellodavidthisisatestofobjectusage';
var letters = new Object;
//loop, figure it out
for(x = 0, length = str.length; x < length; x++) {
var l = str.charAt(x)
letters[l] = (isNaN(letters[l]) ? 1 : letters[l] + 1);
}
//output count!
for(key in letters) {
console.log(key + ' :: ' + letters[key]);
}
console.log(Object.size(letters));
结果 (The Result)
h :: 2
e :: 4
l :: 2
o :: 3
d :: 2
a :: 3
v :: 1
i :: 3
t :: 4
s :: 4
f :: 1
b :: 1
j :: 1
c :: 1
u :: 1
g :: 1
16
The above results in 20 letters being found
上面的结果是找到20个字母
Have a different solution? Share it!
有其他解决方案吗? 分享它!
翻译自: https://davidwalsh.name/javascript-unique-letters-string
相关资源:javascript入门笔记