js - 生成指定长度随机字符串和统计字符串中出现次数最多

1,生成指定长度随机字符串(可用来生成验证码)

function randomString(n) {
  var str = 'abcdefghijklmnopqrstuvwxyz';
  var temp = '';
  for (var i = 0; i < n; i++) {
    temp += str.charAt(Math.round(Math.random() * str.length));
  }
  return temp;
}
console.log(randomString(10));
打印结果:pmrpuunogg

2,统计字符串中次数最多的字母 和次数


// 统计字符串中次数最多字母
let str = 'weidi';
function getChar(str) {
    if (typeof str !== 'string') return // 判断参数是否为字符串
    const obj = new Object() // 键为字母,值为次数
    for (let i = 0; i < str.length; i ++) { // 遍历字符串每一个字母
        let char = str.charAt(i) // 当前字母
        obj[char] = obj[char] || 0 // 保证初始值为0
        obj[char] ++ // 次数加1
    }
    let maxChar // 存储字母
    let maxNum = 0 // maxChar字母对应的次数
    for(let key in obj) { // 遍历obj
        if (obj[key] > maxNum) {
            maxChar = key // 比较后存储次数多的字母
            maxNum = obj[key] // 以及它对应的次数
        }
    }
    return {maxChar,maxNum} // 返回结果
}
console.log(getChar(str));
打印结果:{ maxChar: 'i', maxNum: 2 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值