谁知道你的那位面试官说的是那种for循环,用js写了两个,php的不会
<script type="text/javascript">
//方法一
var result=[];
var i,n;
result.selMap={};for(i=0;i<5;i++){
n=parseInt(Math.random()*22)+1;
while(result.selMap[n]){
n=parseInt(Math.random()*22)+1;
}
result.selMap[n]=n;
result.push(n)
}
alert(result.join(","));//方法2
var i,nLen,result=[];
var aNums=[
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22
];
for(i=0,nLen=aNums.length;i<5;i++){
n=parseInt(Math.random()*nLen)+1
result.push(n);
aNums.splice(n-1,1);
nLen--;
}
alert(result.join(","));
</script>
<script type="text/javascript">
//方法一
var result=[];
var i,n;
result.selMap={};for(i=0;i<5;i++){
n=parseInt(Math.random()*22)+1;
while(result.selMap[n]){
n=parseInt(Math.random()*22)+1;
}
result.selMap[n]=n;
result.push(n)
}
alert(result.join(","));//方法2
var i,nLen,result=[];
var aNums=[
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22
];
for(i=0,nLen=aNums.length;i<5;i++){
n=parseInt(Math.random()*nLen)+1
result.push(n);
aNums.splice(n-1,1);
nLen--;
}
alert(result.join(","));
</script>
但是没有创新意思,也就是是说没有达到最简单的几行代码就能实现,哈哈辛苦了老朋友:xingqiliudehuanghun
<script type="text/javascript">
var aNums=[
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22
];//洗牌
aNums.sort(function(){
return Math.pow(-1,parseInt(Math.random()*2)+1)
});//摸牌
alert(aNums.slice(0,5));
</script>
(PHP 4, PHP 5)array_rand -- 从数组中随机取出一个或多个单元