查找字符串中出现最多次数的字符及其个数

来源:互联网 发布:课时优化八上英语答案 编辑:程序博客网 时间:2024/05/16 17:44

中心思想:
1、利用string对象中的charAt()的方法将字符串中的每一个字符找出;
2、利用json[char]属性对每一次出现的字符进行计数;
3、进行最后的次数比较;得出出现最多的字符及其次数;

<!DaCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <body>    </body>    <script>        /*         * 面向过程法         */        var str = "abcssssssss";        var json = {};        for(var i = 0; i < str.length; i++) {            var char = str.charAt(i);            if(json[char]) { //char就是对象json的一个属性,json[char]是属性值,json[char]控制出现的次数 ;                json[char]++;//次数加1            } else {                json[char] = 1;若第一次出现,次数记为1 ;            }        }        console.log(json);//输出的是完整的对象,记录着每一个字符及其出现的次数 //遍历对象,找到出现次数最多的字符和次数 ;        var max = 0;        var maxChar = null;        for(var key in json) {            if(max < json[key]) {                max = json[key];//max始终储存次数最大的那个 ;                maxChar = key;//那么对应的字符就是当前的key ;            }        }        console.log("出现次数最多是: " + maxChar+' , 总共出现: '+max+' 次');        /*         * 面向对象法         */        /*function Tab(str){            this.a = {};            for(var i = 0; i < str.length; i++) {                this.char = str.charAt(i);                if(this.a[this.char]) {                    this.a[this.char]++;                } else {                    this.a[this.char] = 1;                }            }            this.max = 0;            this.maxChar = null;            for(this.key in this.a) {                if(this.max < this.a[this.key]) {                    this.max = this.a[this.key];                    this.maxChar = this.key;                }            }            console.log("出现次数最多是: " + this.maxChar+' , 总共出现: '+this.max+' 次');        }//      实例        var str = "abcsssss";        var b=new Tab(str);*/    </script></html>
阅读全文
0 0
原创粉丝点击