简介:此篇文章说明了如何使用javascript的内置对象Math来实现随机数的生成,尤其是在一个范围内随机生成整数的方法。
前言
在javascript中有许许多多的对象。有自定义对象、内置对象和浏览器对象。其中内置对象就是javascript中自带的对象,我们可以在使用过程中直接调用这个对象中的属性以及方法。javascript中常用的内置对象有Math对象,Date对象等等。想要具体某个内置对象的使用方式可以查阅MDN文档:https://developer.mozilla.org/zh-CN/今天介绍的是Math对象中生成随机数的方法。
一、Math.random()
Math对象中返回随机数的方法是random,使用时的语法就是:
var a=Math.random();
但是要注意,如果直接使用random函数,返回的值在[0,1)之间,只能返回浮点数,不能返回整数,那如果我们想要返回指定范围内的整数怎么做呢?
二、用Math.random()得到随机整数
我们再来认识Math中的两个取整方法:
Math.floor(-7.004);//会返回-8。该函数是向下取整的
Math.ceil(-7.004);//会返回-7。该函数是向上取整的
我们如果说给定一个范围[min,max],想要随机生成该范围内的整数,可以使用“在min的基础上随机加上一个[0,max-min]之间的数”的方法,然后向下取整,来实现。代码如下:
function GetRandom(min,max){
min=Math.ceil(min);
max=Math.floor(max);
return Math.floor(Math.random()*(max-min))+min;
}
console.log(GetRandom(1,10));//可以随机生成1到10之间的数
也可以写成:
function GetRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
console.log(GetRandom(1,10));//可以随机生成1到10之间的数
总结
以上便是在javascript中生成随机整数的方式,我们也可以利用这个函数做一个随机点名的点名器:
function GetRandom(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
var arr['韩梅梅','张三','李四','王五','咪'];
console.log(arr[GetRandom(0,arr.length-1)]);