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

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

代码如下:

// 纯手打,不谢。

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。

var getRandomArray = function() {

var i = 0,

s = '',

sp = ',',

next

while (i <100) {

// 产生1-100的随机数

next = Math.random() * 100 + 1

// 判断产生的数是否在随机数字符串

if (s.indexOf(next) === -1) {

// 不存在

// 则加上这条

s += next + sp

// 并且记数器加1

i++

}

// 否则记数器不加1,继续循环

}

// 最后得到的是xx,xx,形式的字符串

// 因为split函数会保留最后一个分隔符后的数

// 所以通过slice(0,-1)去掉最后一个字符(也就是,号)

// 这样99个分隔符拼成的字符串就会被,号分割

// 成100个随机数组了

return s.slice(0, -1).split(',')

}

alert(getRandomArray())

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

</head>

<body>

<script>

var num = []

// 随机生成20个1~100的数

for(var i = 0i<40i++){

num[i] =parseInt(Math.random()*100)

}

//判断是否能被2整除,删除

for(var i = 0i<40i++){

if(num[i]%2 == 0){

delete num[i]

}

}

// 遍历打印

for(var x in num){

document.writeln(num[x])

}

</script>

</body>

</html>

有点小bug,大概就是这样,我纯手写的


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/6750758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存