方法一:这个是我的方法,望大家指正……
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>从长度为100的数组中随机抽取5个不同值</title> </head> <body> <script> var arr = new Array(100); var flag_a = new Array(100); /*这个是特色。本身是想给数组每一个元素设置一个flag属性,但是行不通。所以就创建一个相同大小的布尔类型的数组*/ for (var i = 0; i < arr.length; i++) { arr[i] = "这是第"+i+"个"; flag_a[i] = false; } for (var i = 0; i < 5; i) { var r = Math.floor(Math.random()*100); if(!flag_a[r]){ document.write(i+1+":"+arr[r]+"<br/>"); flag_a[r] = true; i++;/*将i++放置到这个地方的话,我觉得挺有创意的……(*^__^*) 嘻嘻……*/ } } </script> </body> </html>
方法二:这个方法跟上边的有异曲同工之妙,是别人想的,供大家参考……
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>从长度为100的数组中随机抽取5个不同值02</title> </head> <body> <script> var arr = new Array(100); for (var i = 0; i < arr.length; i++) { arr[i] = "这是第"+i+"个"; } for (var i = 0; i < 5;) { var r = Math.floor(Math.random()*100); if(arr[r]!=null){ document.write(i+1+":"+arr[r]+"<br/>"); arr[r] = null;/*通过将使用过的设置为null来判断是否使用过,也很好……*/ i++; } } </script> </body> </html>
时间: 2024-10-07 05:03:20