JS在一定范围内随机多个不同随机数
遇到个需求,10个数据在数组内,需要随机3个出去显示。
乍一想,好像直接用随机数就可以,但会有一个问题就是如果随机数相同,页面就会显示几个相同的数据,所以这样是行不通的。
然后转换一下思路,把数组的顺序打乱这样就能达到目的,实现效果。
代码是打乱0-9数据的顺序。
function suijinum(){
var count=10;
var a=new Array();
for(var i=0;i<count;i++){
a[i]=i;
}
a.sort(function(){
return 0.5-Math.random();
})
return a;
}
var a= suijinum();
document.write(a);
document.write('<br>');
document.write(a[0]+','+a[1]+','+a[2]);
输出如下:
然后根据我查询资料,有了发现,这样在js使用sort并不能做到概率相等的随机。
不过目的达到就行,页面需求并不需要完全随机。