我看到您在百度知道里提问了这个问题,我想知道您最后是怎么解决的,可以教给我吗?
var num = 1;
var num2 = 34;
var num3 = num2-num;
suoyou[i].innerHTML = parseInt(Math.random()*num3+num,10)
如何避免在javascript中的Math.random()产生的数不重复
答案:1 悬赏:40 手机版
解决时间 2021-03-23 05:40
- 提问者网友:谁的错
- 2021-03-22 07:43
最佳答案
- 五星知识达人网友:英雄的欲望
- 2019-04-11 09:32
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS 演示代码</title>
<style>
div {
width: 30px;
border: 1px solid #fd3;
float: left;
}
</style>
<script>
onload = function() {
var min = 1;
var max = 34;
var body = document.body;
// 白盒测试
for (var i = 0; i < max - 1; i++) {
var div = document.createElement("div");
body.appendChild(div);
}
// 挑战极限
var suoyou = document.getElementsByTagName("div");
var map = {};
for (var i = 0; i < suoyou.length; i++) {
// 1~33
var rand = Math.floor(Math.random() * (max - min)) + min;
if (!map[rand]) {
suoyou[i].innerHTML = rand;
map[rand] = 1;
} else {
i--;
}
}
}
</script>
</head>
<body></body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS 演示代码</title>
<style>
div {
width: 30px;
border: 1px solid #fd3;
float: left;
}
</style>
<script>
onload = function() {
var min = 1;
var max = 34;
var body = document.body;
// 白盒测试
for (var i = 0; i < max - 1; i++) {
var div = document.createElement("div");
body.appendChild(div);
}
// 挑战极限
var suoyou = document.getElementsByTagName("div");
var map = {};
for (var i = 0; i < suoyou.length; i++) {
// 1~33
var rand = Math.floor(Math.random() * (max - min)) + min;
if (!map[rand]) {
suoyou[i].innerHTML = rand;
map[rand] = 1;
} else {
i--;
}
}
}
</script>
</head>
<body></body>
</html>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯