怎么用js做随机点名

JavaScript031

怎么用js做随机点名,第1张

关键是随机数的实现(伪随机)

function myRand(start, end) {

return start + Math.round((Math.random() * (end - start)))

}

这个函数可以得到start到end之间(包括start和end)的随机数,然后根据随机数去点名

<script language="javascript">

var num=13//假设有13个同学

var name=new array( )

var aaa=new array( )//定义两个数组

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

name[i]=“姓名"+i

}//把同学名字放进name数组

for(var i = 0i<numi++)

{

var j = Math.floor((num-i)*Math.random())//获取小于13的随机数

aaa.push(name[j])//往aaa数组添加name数组的数据

name.splice(j,1)//把name数组里的数据删掉

}

document.write(aaa.join("<br>"))数组里每个元素增加一个换行。

</script>

不懂可追问。

可以给你一个思路

在php有一个随机函数rand(min,max),min和max分表是设定的随机范围,当然可以不给他们值,那么php会在0-rand_max之间随机取值,在某些平台下(例如 Windows)RAND_MAX 只有 32768。

你可以先定义一个数组,然后循环取出随机的值,保存到数组里面,这么多数据,相信重复的概率是很小了。然后在取出的时候,先获取数组的长度,然后以0为min,数组长度-1为max进行随机获取数据,打印出数组中下标元素为该数的数据,这就是你想要的了。

JS中同上,不过JS随机是用Math.random(),它只会随机0-1之间的数据,所以你要获取多的,最好在后面*10000等你想要的数据,EG:Manth.random()*1000000,其它的原理同PHP

如果需要知道详细代码,请追问,谢谢。

建议自己先试试!