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

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

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

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

    直接上代码

    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)
  • 相关阅读:
    eclipse安装Aptana 插件,支持Javascript
    C++字符串转换成uint64类型
    C语言字节对齐
    Windows版本Traceroute
    ubuntu下使用FireBug调试Javascript脚本
    TCP拥塞控制图
    nodejs点滴
    你应该知道的16个Linux服务器监控命令
    C语言运算符(转载)
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/web-alibaba/p/4827541.html
Copyright © 2011-2022 走看看