• 算法积累(字符串转换驼峰,判断一个字符串中那个字母出现次数最多,并且出现了几次)


    因为算法比较烂,所以想做一下这方面的积累。

     尽量能够每天学习一个新算法吧。(不过估计很悬)

    好吧,今天第一个是字符串转换驼峰

    直接上代码

    var str = 'toupper-case';
        var arr = str.split('-');  //toupper,case
        for (var i = 1; i < arr.length; i++) {   //把除了第一个数组后面的数组的第一个值设置为大写然后大写字母和去掉第一个字符的剩下的字符进行拼合
            arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].slice(1);    
        };
        var str1 = arr.join('');  //join方法把数组转换成为字符串.....
        alert(str1);

     第二个是判断一个字符串中那个字母出现次数最多,并且出现了几次

    var str = 'aaaassssddddddd';
    var obj = {};
        var num  = 0;
        var value = '';
        for (var i = 0; i < str.length; i++) {
            if (!obj[str[i]]) {          
                obj[str[i]] = [];
            } else {
                obj[str[i]].push(str[i]);
            }
    
        };
        //var obj1 = {
        //    'a': ['a'],
        //    's': ['s', 's', 's', 's', 's', 's'],
        //    'd': ['d', 'd']
        //};
    
        for (var attr in obj) {
            if (num < obj[attr].length) {   //第一次a只有一位,那么num = 1,第二次s有N位,那么num = N , 第三次d小于n位,那么num还是n
                                            //这时候如果没有值大于num那么说明这个value是最多的字母 就可以返回当前的num和value 
                num = obj[attr].length;
                value = obj[attr][0];   
            }
    
    
        };
    
        alert(value + ',' +num)
  • 相关阅读:
    SpringCloud教程五:Zuul(路由+过滤)
    ubuntu18.0.4 不能下载 libgd2-dev
    ubuntu18.04下安装中文输入法
    Ubuntu下tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    Java面试题汇总(一)
    Redis常见面试题
    Docker是什么
    Django实现自动发布(1数据模型)
    数据随机分配的思考
    单链表反转
  • 原文地址:https://www.cnblogs.com/web-alibaba/p/4827541.html
Copyright © 2020-2023  润新知