永发信息网

用js实现随机选取10–100之间的10个且不重复的数字,存入一个数组。

答案:4  悬赏:30  手机版
解决时间 2021-11-22 01:55
  • 提问者网友:沉默菋噵
  • 2021-11-21 08:14
用js实现随机选取10–100之间的10个且不重复的数字,存入一个数组。
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-11-21 09:53
代码如下:

// 纯手打,不谢。
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。
全部回答
  • 1楼网友:过活
  • 2021-11-21 13:24

前面几个都可以,我只是来写出我的答案的。。

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);
  • 2楼网友:春色三分
  • 2021-11-21 12:48
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;
}
}
  • 3楼网友:舊物识亽
  • 2021-11-21 11:33
// 纯手打,不谢。
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;
}

附:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯