1.统计字符串中字符数量
比如 ‘asdssddaag’
a:3 d:3 s:3 g:1
function countLt (str) {
var json = {};
for(var i = 0; i < str.length ; i++){
if( !json[str[i]] ){
json[str[i]] = 1;
}
else{
json[str[i]] += 1;
}
}
return json;
}
思路:创建一个对象,遍历字符串,判断是否存在,如果不存在,动态添加该字符为属性,同时设置该属性的值为1,如果存在,说明之前被创建过并赋值,此时将该值+1
2.找到字符串中第一个重复的字符
比如 ‘asdfgafs’
第一个重复出现的字符为: a
思路是 判断对象中属性是否存在,存在就把该str[i] 赋值 target, 跳出循环,return target ,这里用了三元运算符
function countLt (str) {
var json = {},targetStr;
for(var i = 0; i < str.length ; i++){
!json[str[i]] ? json[str[i]] = 1 : targetStr = str[i];
}
return targetStr;
}
3.找出字符串中重复次数最多的字符
思路是 设置一个 maxNum = 1, maxNum。
function countLt (str) {
var json = {};
var maxNum = 1,maxStr ='';
for(var i = 0; i < str.length ; i++){
if( !json[str[i]] ){
json[str[i]] = 1;
}
else{
json[str[i]] += 1;
}
if(json[str[i]] > maxNum){
maxNum = json[str[i]];
maxStr = str[i];
}
}
var log = 'maxNum: ' + maxNum + ' maxStr: ' + maxStr;
return log;
}