zoukankan      html  css  js  c++  java
  • 查找String中出现最多字符的次数和个数

    Sting 的charAt方法返回相应位置的字符,使用该方法遍历String,将每个字符存入对象属性,遍历属性得到最多字符个数

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
    
        <body>
    
            <script>
                window.onload = function() {
                    new GetChar("lanleilinhello");
                }
    
                function GetChar(str) {
                    this.obj = {};
                    this.len = str.length;
                    for(var i = 0; i < this.len; i++) {
                        var c = str.charAt(i);
                        //将每个字符作为对象属性
                        if(this.obj[c]) {
                            this.obj[c]++;
                        } else {
                            this.obj[c] = 1;
                        }
                    }
                    console.log(this.obj);
                    //遍历对象
                    this.max = 0;
                    this.maxChar = '';
                    for(var key in this.obj) {
                        if(this.max < this.obj[key]) {
                            this.max = this.obj[key];
                            this.maxChar = key;
                        }
                    }
                    console.log("最多的字符是" + this.maxChar);
                    console.log("出现的次数是" + this.max);
                }
            </script>
        </body>
    
    </html>

    采用构建json的方法:

                    var s='lannn';
                    var json={};
                    var num=1;
                    for(let i=0;i<s.length;i++){
                        var c=s.charAt(i);//出现过的字符作为json的key
                        if(json[c]){//若出现过字符,key值加一
                            num++
                            json[c]=num;
                        }else{
                            json[c]=1;
                        }
                    }
                    console.log(json)
                    var max=0;
                    var maxChar='';
                    for(var key in json){
                        if(max<json[key]){//若max小于key值则将key值赋给max,从而取得最大次数
                            max=json[key];
                            maxChar=key;
                        }
                    }
                    console.log('最多的字符为    '+maxChar);
                    console.log('次数    '+max);

    去除数组中重复数字:

                window.onload = function() {
                    var e = 'ab cde';
                    //将字符串反转
                    var a = e.split('').reverse().join('');
                    console.log(a);
                    //取代空格
                    let b = e.replace(/s/, '+');
                    console.log(b)
                        //中间加+
                    var c = e.split('');
                    var arr = [];
                    for(var i = 0; i < c.length; i++) {
                        arr.push(c[i]);
                        arr.push('+');
                    }
                    console.log(arr.join('').slice(0, -1));
                    //将数字 12345678 转化成 RMB 形式 如: 12,345,678,反过来每三个加,
                    var num = {}; //命名空间
                    num.n = 12345678;
                    num.s = num.n.toString();
                    num.a = num.s.split('').reverse();
                    num.arr = [];
                    for(let i = 0; i < num.a.length; i++) {
                        num.arr.push(num.a[i]);
                        if((i + 1) % 3 == 0) {
                            num.arr.push(',');
                        }
                    }
                    console.log(num.arr.reverse().join(''));
                    //生成 5 个不同的随机数
                    let ranNum = [];
                    for(let i=0;i<5;i++){
                        ranNum[i]=Math.floor(Math.random()*10)+1;
                        for(let j=0;j<i;j++){
                            if(ranNum[j]==ranNum[i]){
                                i--;//重复的数字重新生成新数字覆盖
                            }
                        }
                    }
                    console.log(ranNum)
                    //去掉数组中重复的数字,立flag,新数组中所有项与原数不同,flag可推入
                    let arr1=[2,46,7,845,7,7,7,73];
                    let arr2=[];
                    let flag=1;
                    for(let i=0;i<arr1.length;i++,flag=1){
                        for(let j=0;j<i;j++){
                            if(arr2[j]==arr1[i]){
                                flag=0
                            }
                        }
                        flag?arr2.push(arr1[i]):0;
                    }
                    console.log(arr2)

            //去掉重复数字方法二,新数组indexOf==-1(远数组中某项在新数组中不含,可推入)

            var arr=[1,1,2,2,3,3,4,4];

            var arr2=[];

            for(var i=0;i<arr.length;i++){
              if(arr2.indexOf(arr[i])==-1){
              arr2.push(arr[i]);
              }
            }

            alert(arr2);

    
         }
  • 相关阅读:
    PostgerSQL 回收表空间,查看占用磁盘大小
    为 Docker 添加阿里云的镜像地址
    Docker 常用命令
    CentOS 7 安装 Docker
    kafka-常用脚本2
    Nginx 端口被占用(0.0.0.0:443 failed (98: Address already in use))
    nginx: [error] open() "/var/run/nginx.pid" failed (2: No such file or directory)
    检查Nginx 配置文件出否有问题
    Python2 安装虚拟环境
    记录 | 程序员技术博客平台推荐和选取
  • 原文地址:https://www.cnblogs.com/rlann/p/7099860.html
Copyright © 2011-2022 走看看