美文网首页
Math任务

Math任务

作者: 辉夜乀 | 来源:发表于2017-04-13 10:10 被阅读51次

1、写一个函数,返回从min到max之间的随机整数,包括min不包括max

function rand(min, max){
    var randInt = Math.floor(Math.random()*(max - min))+min;
    return randInt;
}

rand(15, 25)   // 20

检验函数符不符合要求,运行10000次测试随机整数的概率

function rand(min, max){
  var count = 10000;
  var obj = {};
  for(var i=0; i<count; i++){
    var randInt = Math.floor(Math.random()*(max - min))+min;
    var key = randInt;
    if(obj[key] === undefined){
      obj[key] = 1;
    }else{
      obj[key]++;
    }
  }
  for(key in obj){
    obj[key] = obj[key] / count;
  }
    console.log(obj);
}

rand(15, 25)

/* 运行10000次,随机整数的概率
15: 0.0997
16: 0.102
17: 0.1058
18: 0.103
19: 0.1005
20: 0.1014
21: 0.0987
22: 0.094
23: 0.0935
24: 0.1014
包括 min 不包括 max,符合要求
*/

2、写一个函数,返回从min都max之间的随机整数,包括min包括max

function rand2(min, max){
    var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
    return randInt;
}

rand2(15, 25)   // 23

检验函数符不符合要求,运行10000次测试随机整数的概率

function rand2(min, max){
  var count = 10000;
  var obj = {};
  for(var i=0; i<count; i++){
    var randInt = Math.floor(Math.random()*(max + 1 - min))+min;
    var key = randInt;
    if(obj[key] === undefined){
      obj[key] = 1;
    }else{
      obj[key]++;
    }
  }
  for(key in obj){
    obj[key] = obj[key] / count;
  }
    console.log(obj);
}

rand2(15, 25)

/*运行10000次,随机整数的概率
15: 0.0894
16: 0.0905
17: 0.0872
18: 0.0913
19: 0.0904
20: 0.0904
21: 0.0883
22: 0.0916
23: 0.0971
24: 0.0933
25: 0.0905
包括 min 也包括 max 符合要求
*/

3、写一个函数,生成一个长度为 n 的随机字符串,字符串字符的取值范围包括0到9,a到 z,A到Z。

function randomStr(n){
  var dict = "0123456789" + 
             "abcdefghijklmnopqrstuvwxyz" + 
             "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var str = "";
  for(var i=0; i<n; i++){
    str += dict[Math.floor(Math.random()*dict.length)];
  }
  return str;
}

randomStr(10)    
// "ybF5F5BOPS" 随机生成一个长度为 10 的字符串

var count = 5;
for(var j=0; j<count; j++){
  console.log(randomStr(10));
}
/*运行5次,生成5个这样的字符串
anqWd8gy78
EN48PbSroF
8fZQMYU4DB
Gi6p5e4aIf
k5nkUM8Xms
*/

4、写一个函数,生成一个随机 IP 地址,一个合法的 IP 地址为 0.0.0.0~255.255.255.255

function getRandIP(){
  var arr = [];
  for(var i=0; i<4; i++){
    arr[i] = Math.floor( Math.random()*256 );
  }
  return arr.join('.');
}
var ip = getRandIP()
console.log(ip)    // 25.65.146.196

var count = 5;
for(var j=0; j<count; j++){
  ip = getRandIP()
  console.log(ip)
}
/*运行5次,产生5个随机ip
14.26.217.81
45.88.162.135
114.152.134.49
23.225.5.197
43.189.153.7
*/

5、写一个函数,生成一个随机颜色字符串,合法的颜色为#000000~ #ffffff

function getRandColor(){
  var dict = "0123456789abcdef";
  var colorStr = "#";
  for(var i=0; i<6; i++){
    colorStr += dict[Math.floor(Math.random()*dict.length)];
  }
  return colorStr;
}
var color = getRandColor()
console.log(color)   // #ae7ebd

var count = 5;
for(var j=0; j<count; j++){
  color = getRandColor();
  console.log(color);
}
/*运行5次,产生5个随机颜色字符串
#881727
#21db5d
#8f7fd1
#8e0535
#465030
*/

相关文章

  • Math任务

    1.写一个函数,返回从min到max之间的随机整数,包括min不包括max 2.写一个函数,返回从min都max之...

  • Math任务

    1、写一个函数,返回从min到max之间的随机整数,包括min不包括max 检验函数符不符合要求,运行10000次...

  • JavaScript Math(算数) 对象

    Math(算数)对象的作用是:执行常见的算数任务。JavaScript Math 对象的参考手册 Math 对象 ...

  • JavaScript中的Math

    JavaScript中的Math对象: Math 对象用于执行数学任务。 使用 Math 的属性和方法的语法: 注...

  • JavaScript内置对象:math

    Math对象:math对象用于执行数学任务。 注意:Math 对象并不像 Date 和 String 那样是对象的...

  • 7_JavaScript_Math对象_字符串对象_浏览器对象B

    Math对象 Math 对象用于执行数学任务。 Math 对象并不像 Date 和 String 那样是对象的类,...

  • Math 对象

    Math 对象用于执行数学任务 Math 对象属性 Math 对象方法 abs() abs() 方法可返回数的绝对...

  • JavaScript Math对象(摘抄自W3School)

    Math 对象 Math 对象用于执行数学任务。 使用 Math 的属性和方法的语法: var pi_value=...

  • JavaScript Math 对象

    Math 对象 Math 对象用于执行数学任务。 使用 Math 的属性和方法的语法: var pi_value=...

  • Math 对象

    Math 对象 Math 对象用于执行数学任务 Math 对象并不像 Date 和 String 那样是对象的类,...

网友评论

      本文标题:Math任务

      本文链接:https://www.haomeiwen.com/subject/ziovattx.html