取任意范围内的,任意个数的随机数

这是取随机数的常用方法,是采用原生js编写。在一些动画特效以及活动中经常用到,分享一个简单的方法供大家参考。

 1 function randomNub(aArray,len,min,max){
 2                 //5排序
 3                 if(aArray.length>=len){
 4                     aArray.sort(function(a,b){
 5                         return a-b
 6                     });
 7                     return aArray;
 8                 }
 9                 //1.取随机数
10                 var nowNub = parseInt(Math.random()*(max-min-1))+(min-1);
11                 //2.判断是否重复
12                 for(var i = 0;i<aArray.length;i++){
13                     if(nowNub===aArray[i]){
14                         randomNub(aArray,len,min,max);
15                         return;
16                     }
17                 }
18                 //3添加到数组中
19                 aArray.push(nowNub);
20                 //4自调用 并返回数组
21                 randomNub(aArray,len,min,max);
22                 return aArray;
23             }
24             var arr = [];
25             randomNub(arr,10,10,100);
26             console.log(randomNub(arr,10,10,100))

取随机数可能大家都会用,但是代码逻辑就没那么严谨。所以总结下。

150字好难啊,我想上首页推荐,所以就只能写下这点废话了。希望有更好方法的同志们,可以在留言区留言,共同交流进步。

仅供大家参考

写于2017-07-09

时间: 2024-09-29 07:44:16

取任意范围内的,任意个数的随机数的相关文章

判断点是否在任意多边形内

最近项目用到:在Google map上判断事发地点,是否在管辖区域内.也就是典型的判断一个点是否在不规则任意多边形内的例子. 但是Google Map没有提供相应的api,找资料发现百度地图提供了一个工具类,肿么办,为了一个工具类,加入百度地图吗,操蛋,这是不可能的! 百度地图api链接:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_7_0/com/baidu/mapapi/utils/SpatialRelationUtil.html Po

产生任意范围内的随机数

1 //产生[low,high]内的任意随机数,并返回 2 float randnum(int optimization,float low,float high) 3 { 4 int ret_rnd = 0.0; 5 6 float integerf = 0.0; 7 float driftf = 0.0; 8 9 if (low >= high) 10 { 11 printf("low >= high,rearrange them\n"); 12 getchar();

(hdu step 2.3.7)下沙的沙子有几粒?(简单DP:求有m个H,n和D,且任意索引上H的个数都要比D的个数多的方案数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 下沙的沙子有几粒? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 894 Accepted Submission(s): 505   Problem Descri

如何获取两个任意时间段内的所有日期(及其他处理日期时间的方法总结)

(1)用一下方法获取两个任意时间段内的所有日期,代码如下: #1.将字符串转换成datetime类型 def strtodatetime(datestr,format): return datetime.datetime.strptime(datestr,format) #2.时间转换成字符串,格式为2008-08-02 def datetostr(date): return str(date)[0:10] #3.两个日期相隔多少天,例:2008-10-03和2008-10-01是相隔两天 de

zoj 1081 Points Within 判断点是否在任意多边形内(模板)

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81 分析: 从p点出发做平行于x轴的射线 l. 求射线与 多边形 线段的交点数num, 若是偶数 , 该点 在外, 若为奇数, 该点在内. 注意: 两个特判, 1:   一个是 射线 l 与 多边形的边  重合 , 若该p点在 线段上, 返回1, 否则 交点 记为 0 个 2: 一个是 射线与 线段的交点 ,为线段的端点, 则我们 对线段的 较低交点 不计算. 代码

【JavaScript】body内的任意节点的自定义属性

在HTML中body内的任意节点是可以自定义属性的,当然不包括body, 比如以下的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &

设计一个方法,可以实现任意范围内的随机数

package cn; /**  * 请设计一个方法,可以实现获取任意范围内的 随机数   */ public class MathDemo1 { public static void main(String[] args) { for (int i = 0; i < 100; i++) { System.out.println(getRandom(200, 300)); } } public static int getRandom(int start ,int end){ //int num

php 随机显示据今天30天内的任意一天

function randomDate() { //echo date( "Y-m-d H:m:s", $newtime); //echo date("Y-m-d H:m:s", strtotime("+2 week 1 days 7 hours 5 seconds")); $begin = strtotime("now"); $end = strtotime("+1 Month"); $timestamp

Pop–实现任意iOS对象的任意属性的动态变化

简介 Pop 是一个可扩展的动画引擎,可用于实现任意iOS对象的任意属性的动态变化,支持一般动画,弹性动画和渐变动画三种类型. 项目主页: pop 最新示例: 点击下载 注意: 官方代码中,并不包含实例,而是用于编译的所有源代码,建议自行新建工程,并结合下文的代码片段查看效果. 入门 安装 通过CocoaPods安装 pod 'pop', '~> 1.0' 使用 在需要使用POP的地方,引入头文件: #import <pop/POP.h> 动画的开始,停止 与 更新 把动画添加到你想要拥

求100内质数的个数

// 求100内质数的个数 非容斥 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int n,sum; int main() { scanf("%d",&n); for(int i=1;i<=