js随机数Math.random(),区间数,生成指定位数字符串,记录字符串出现次数

1,775 阅读1分钟

一般来说,最基本的一条语法: Math.random() : 0<= x <1 之间的随机数

 获得 0-10范围区间,只需要Math.random()*10

 随机0-10的整数:Math.round(Math.random()*10) 

区间随机数,生成 min--max的随机整数:

 Math.round(Math.random()*(max-min))+min

例:获取30-40之间的整数

function rnd(max,min=0){//min放后面,为有初始值,包含0

   return Math.round(Math.random()*(max-min))+min
 }
 console.log(rnd(40,30));
  console.log(rnd(40));//0-40

这个是封装好调用的 一般:

  var num2 = Math.floor(Math.random()*5+5);//5-10以内
  console.log(num2);

包含最大值:

Math.random()*(max-min+1)+min;

简单应用:

统计出某一个字符串中每一个元素出现的次数

统计出某一个字符串中出现次数最多的元素,并且输出出现次数

     var str = "fkkkasjddddj"; 
     function demo(){
        var obj = {};
        for(var i = 0; i < str.length; i++) {
            var char = str.charAt(i);//返回指定索引处的字符
            // 使用对象记录字符出现的次数,键为各个字符,值为字符出现的次数
            if(obj[char]) {//容器放obj[s] obj[d]…… 重复则++
                obj[char]++;

            } else {
                //第一次出现,为1
                obj[char] = 1;
            }
        }
        //记录出现最多次数
        var max = 0;
        for(var key in obj) { //遍历这个对象
            console.log(key + "这个字母出现了" + obj[key] + "次");
            if(obj[key] >= max) {
                max = obj[key];
            }           
        }
        for(var key in obj) { //数组obj里 key下标遍历
            if(obj[key] == max) {
                console.log("出现次数最多的字符:" + key+"出现次数:" + obj[key]);
            }
        }
    }
    demo(str)
    
    随机生成32位字符串
    function randomString(len) {
    &emsp;&emsp;var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
    &emsp;&emsp;var maxPos = chars.length;
    &emsp;&emsp;var pwd = '';
    &emsp;&emsp;for (i = 0; i < len; i++) {
    &emsp;&emsp;&emsp;&emsp;pwd += chars.charAt(Math.floor(Math.random() * maxPos));
    &emsp;&emsp;}
    &emsp;&emsp;return pwd;
    }
    console.log(randomString(32));