随机数的生成

字数 189阅读 99

Math对象的random方法返回0到1之间的伪随机数,可能等于0,但一定小于1。

生成给定范围内的随机数,包括min但不包含max

function getRandomArbitrarty(min, max) {
  return Math.random() * (max - min) + min;
}

生成给定范围内的随机数,包括min也包含max

function getRandomArbitrarty(min,max) {
  return Math.random() * (max - min + 1) + min;
}

生成给定范围内的整数

function getRandomArbitrarty(min, max) {
  return Math.floor(Math.random() * (max - min) + min);
}

//  使用Math.floor方法对数值进行向下取整,Math.ceil方法向上取整

生成一个随机字符串

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

function randomStr(len) {
  var str = '';
  var dict = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  for (var i = 0; i < len; i++) {
    str += dict[random(0, 62)];
  }
  return str;
}

var newStr = randomStr(8);
console.log(newStr);

生成一个随机IP地址

IP地址的范围是:0.0.0.0 ~255.255.255.255
由于Math.random()生成的随机数包括0,但是不包括1,所以要生成0~255之间的随机数应该使用0~256的范围。

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

function randomIp() {
  var ipArr = [];
  for (var i = 0; i < 4; i++) {
    ipArr.push(random(0, 256));
  }
  return ipArr.join('.');
}

console.log(randomIp());

生成一个随机颜色

function randomColor() {
  var dict = '0123456789abcdef';
  var arr = [];
  for (var i = 0; i < 6; i++) {
    arr[i] = dict[Math.floor(Math.random() * 16)];
  }
  arr.unshift('#');
  return arr.join('');
}

console.log(randomColor());

更多随机颜色的获取方法:javascript获取随机颜色

推荐阅读更多精彩内容