JavaScript实现生成指定范围随机数和一个包含不重复数的随机数组
目前JavaScript里面还没有现成的方法可以实现这个简单地需求,我们就需要自己写代码了。
在js中有个函数:Math.random() 这个函数可以生成 [0,1) 的一个随机数。
我们的简单的改造一下,就可以满足需求了。随机数参考文章链接:https://www.cnblogs.com/lanleiming/p/5409216.html
一、min ≤ r ≤ max
function RandomNumBoth(Min,Max){
var Range = Max - Min;
var Rand = Math.random();
var num = Min + Math.round(Rand * Range); //四舍五入
return num;
}
二、min ≤ r < max
function RandomNum(Min, Max) {
var Range = Max - Min;
var Rand = Math.random();
var num = Min + Math.floor(Rand * Range); //舍去
return num;
}
生成一个包含不重复数的随机数组
最先想到的问题就是去重吧,先生成一个数组,然后去重...是不是很麻烦,其实一开始,我们就可以把这个问题解决了。
/** len生成数组的长度,min生成数最小值,max生成数的最大值 **/
function randomArr(len,min,max){
if((max-min)<len){ //可生成数的范围小于数组长度
return null;
}
var hash = [];
while(hash.length<len){
var num = randomNum(min,max);
if(hash.indexOf(num)==-1){
hash.push(num);
}
}
return hash;
}
GitHub : https://github.com/fxiaoyu97
博客园 : https://www.cnblogs.com/tudou1179006580
微信公众号 : 三更编程菌
Copyright ©2019 卡洛小豆
【转载文章务必保留出处和署名,谢谢!】
博客园 : https://www.cnblogs.com/tudou1179006580
微信公众号 : 三更编程菌
Copyright ©2019 卡洛小豆
【转载文章务必保留出处和署名,谢谢!】
【推荐】FFA 2024大会视频回放:Apache Flink 的过去、现在及未来
【推荐】中国电信天翼云云端翼购节,2核2G云服务器一口价38元/年
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步