一、常规方式实现JS统计字符串中每个字母出现的次数
//创建一个空对象,目的:把字母作为键,次数作为值
function countStr(str) {
var obj = {};//创建一个空对象
for (var i = 0; i < str.length; i++) {//遍历字符串,获得每个字母
var key = str[i];//每个字母
if (obj[key]) {
obj[key]++;//判断obj中有没有这个键
} else {
//对象中没有这个字母,那就把字母加到对象中,并且给这个字母一个出现的次数,默认一次
obj[key] = 1;//此时会把每个字母变成属性,并赋予属性值1
}
}
//遍历对象,显示每个字母的次数
for (var key in obj) {
console.log(key + "出现了" + obj[key] + "次");
}
}
console.log(countStr("ouguan.rztrkm.com"))
// o出现了2次
// u出现了2次
// g出现了1次
// a出现了1次
// n出现了1次
// .出现了2次
// r出现了2次
// z出现了1次
// t出现了1次
// k出现了1次
// m出现了2次
// c出现了1次
二、一行代码实现JS统计字符串中每个字母出现的次数
function countStr(str){
return [...str].reduce((a,b)=>(a[b]?a[b]++:a[b]=1,a),{});
}
console.log(countStr("yingchao.rztrkm.com"))
此种方式更为便捷,返回结果为Object对象
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。