用js实现随机选取10–100之间的10个且不重复的数字,存入一个数组。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js实现随机选取10–100之间的10个且不重复的数字,存入一个数组。相关的知识,希望对你有一定的参考价值。
代码如下:
var randoms=[];
while (true)
var isExists = false;
// 获取一个10–100范围的数
var random = parseInt(10 + (90 - 10) * (Math.random()))
// 判断当前随机数是否已经存在
for (var i = 0; i < randoms.length; i++)
if (random === randoms[i])
isExists = true;
break;
// 如果不存在,则添加进去
if (!isExists)
randoms.push(random);
// 如果有10位随机数了,就跳出
if (randoms.length === 10)
break;
结果图:
关于js
javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
参考技术A // 纯手打,不谢。var randoms=[];
while (true)
var isExists = false;
// 获取一个10–100范围的数
var random = parseInt(10 + (90 - 10) * (Math.random()))
// 判断当前随机数是否已经存在
for (var i = 0; i < randoms.length; i++)
if (random === randoms[i])
isExists = true;
break;
// 如果不存在,则添加进去
if (!isExists)
randoms.push(random);
// 如果有10位随机数了,就跳出
if (randoms.length === 10)
break;
附:
参考技术B var arr = new Array();//存储10个随机数的数组for (var i = 9; i >= 0;)
var num = fRandomBy(10, 100);
//数组中不存在该数据则进行插入到该数组中
if (arr.indexOf(num)==-1)
arr.push(num);
i--;
;
// console.log(arr);
//获取10到100的随机数
function fRandomBy(under, over)
switch(arguments.length)
case 1: return parseInt(Math.random()*under+1);
case 2: return parseInt(Math.random()*(over-under+1) + under);
default: return 0;
参考技术C
前面几个都可以,我只是来写出我的答案的。。
var arr = (function()var _arr = [];
for(var i=1;i<=100;i++)
_arr.push(i);
return _arr;
)().sort(function(a,b)
return Math.random()-0.5;
).slice(0,10);
编写一个js函数,该函数有一个n(数字类型),其返回值是一个数组,该数组内是n个随机且不重复的整数,且整数取值范围是[2,32]
今天在公众号里边看到这个问题,就自己写了下,发现自己还是有许多没注意到的,在此记录,
1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1)
2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。
3.Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math:数学对象,提供对数据的数学计算。
Math.random(); 返回0和1间(包括0,不包括1)的一个随机数。
Math.ceil(n); 返回大于等于n的最小整数。
用Math.ceil(Math.random()*10);时,主要获取1到10的随机整数,取0的几率极小。
Math.round(n); 返回n四舍五入后整数的值。
用Math.round(Math.random());可均衡获取0到1的随机整数。
用Math.round(Math.random()*10);时,可基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.floor(n); 返回小于等于n的最大整数。
用Math.floor(Math.random()*10);时,可均衡获取0到9的随机整数。
以上是关于用js实现随机选取10–100之间的10个且不重复的数字,存入一个数组。的主要内容,如果未能解决你的问题,请参考以下文章
js实现随机选取[10,100)中的10个整数,存入一个数组,并排序。 另考虑(10,100]和[10,100]两种情况。