alert(hehe)
Math.random()产生的随机数范围为0~1的数字,但请注意随机数不含1,即范围为[0,1),所以这里数字(Math.random()*41)应该为41而不是40.
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>
<head>
<script type="text/javascript">
function generateSomeNumbers() {
var total = 0
var numbers = []
while (true) {
var number = parseInt(Math.random() * 100)
if (number == 0) {
break
} else if (number % 3 == 0) {
numbers.push(number)
}
total++
}
document.getElementById('result').innerHTML = numbers.join(',')
alert('共产生' + total + '个随机数,其中3的倍数有' + numbers.length + '个!')
}
</script>
</head>
<body>
<button onclick="generateSomeNumbers()">产生随机数</button>
<br />
<div id="result"></div>
</body>
</html>