js面试题 转化首字母 查存字符串出现最多次数的字母

给定字符串 下滑后的字符转化为大写

    //将一排字符串的首字母转换为大写
    var str ='tom_jack_tony_big'
    var arr =str.split('_')
    var arr2 = arr.map((item)=>{
        return item.replace(item[0],item[0].toUpperCase())
    }) 
    console.log(arr);
    console.log(arr2);
    //拼接
    var srt2=''
    arr2.map(item=>{
        srt2+=item
    })
    console.log(srt2);

查询字符串中出现最多次数的字符

var str = 'abcdefgyyyuuu';
    var json = {};
    //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv
    for (var i = 0; i < str.length; i++) {
        //判断json中是否有当前str的值 
        if (!json[str.charAt(i)]) {
            //如果不存在 就将当前值添加到json中去
            json[str.charAt(i)] = 1;
        } else {
            //else的话就让数组中已有的当前值的index值++;
            json[str.charAt(i)]++;
        }
    }
    console.log(json);

   /*   打印json
   { a: 1, b: 1, c: 1,d: 1, e: 1,f: 1,g: 1,u: 3,y: 3,}
    */

    //存储出现次数最多的值和次数
    var number = '';
    var num = 0;
    //遍历json  使用打擂算法统计需要的值
    for (var i in json) {
        //如果当前项大于下一项
        if (json[i] > num) {
            //就让当前值更改为出现最多次数的值
            num = json[i];
            number = i;
        }
    }
      //最终打印出现最多的值以及出现的次数
      alert('出现最多的值是'+number+'出现次数为'+num);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值