JavaScript 实战练习题

1.给定一个字符串例如:“abaasdffggghhjjkkgfddsssss3444343”

问题一:查找指定字符是否在以上字符串中存在,如:i,c ,b等

var str2 = "icb";
for(var i=0;i<str.length;i++){
for(var j=0;j<str2.length;j++){
    if(str[i]==str2[j]){
  alert("存在相同字符")
}
}
};

 

问题二:找出以上字符串中出现次数最多的字符和出现的次数

写法一:
    var arr2=[];
    for(var i=0;i<str.length;i++)
    {
        var obj = {};
        if(i==0)
        {
            obj.str=str[i];
            obj.count=1;
            arr2.push(obj);
            continue;
        }

        var exist=false;
        for (var j=0;j<arr2.length;j++) {

            if(str[i]==arr2[j].str)
            {
                arr2[j].count+=1;
                exist=true;
            }

        }

        if(!exist)
        {
            obj.str=str[i];
            obj.count=1;
            arr2.push(obj);
        }

    }

    var s='';
    var c=0;
    for(var i=0;i<arr2.length;i++)
    {
        if(arr2[i].count>c)
        {
            s=arr2[i].str
            c=arr2[i].count;
        }

    }

    console.log('最多字符为'+s+'次数为:'+c);

 
写法二:简洁写法
    var str = "abcdefgaaaaaaddda";
    var obj = {};
    var arr = [];
    var letter;
    for(var i = 0,len = str.length;i<len;i++){
        letter = str[i];
        if(!obj[letter]){
            obj[letter] = 1;
        }else{
            obj[letter]++;
        }
    }
    var max_key,max_num=0;
    for(key in obj){
        if(max_num <obj[key]){
            max_num = obj[key];
            max_key = key;
        }
    }
    document.write("字母:"+max_key+" 次数:"+max_num);

 

posted on 2017-04-06 10:27  水月纯明  阅读(554)  评论(0)    收藏  举报

导航