js初学-3

一.两种排序方法

1.

<script type="text/javascript">
function bubllesort(){
var n=prompt("请输入预期数组长度");
var arr=[];
while(arr.length<n){
arr.push(Math.floor(Math.random()*100));
}
document.write(arr);
document.write("<br>");
var t=0;
for(var i=0;i<n-1;i++){
for(var j=0;j<n-i-1;j++){
if(arr[j]>arr[j+1]){
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
document.write(arr);
}
</script>
<button onclick="bubllesort()">冒泡排序</button>

2.

<script type="text/javascript">
function sort(){
var n=prompt("请输入预期数组长度");
var arr=[];
while(arr.length<n){
arr.push(Math.floor(Math.random()*100));
}
document.write(arr);
document.write("<br>");
for(var i=0;i<n;i++){
for(var j=i+1;j<n;j++){
if(arr[i]>arr[j]){
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
document.write(arr);
}
</script>
<button onclick="sort()">排序</button>

二.双色球

方法1:用indexOf()查找敏感词方法

function tcball(){
var arr=[];
var num;
while(arr.length<6){
num=Math.floor(Math.random()*31+1);
if(arr.indexOf(num)==-1){
arr.push(num);
}
}
document.write(arr);
document.write("<br>");
num=Math.floor(Math.random()*16+1);
document.write(num);
}
</script>
<button onclick="tcball()">生成双色球</button>

方法2:用for循环

function tcball(){
var arr=[];
var stu=[];
var j=0;var k=0;var num=0;
for(i=0;i<31;i++){-----------------------//因为红球在1-31里随机选择,就先从1到31生成31个连续自然数给arr数组;
arr[i]=i+1;
}
while(stu.length<6){------------------//设定循环条件
num=Math.floor(Math.random()*31+1);//生成随机数num;
for(j=0;j<arr.length;j++){--------------//此循环实现让生成的随机数num与arr数组中的全体元素对比;
if(num==arr[j]){--------------------------//判断,只要随机数等于arr中的某个元素,就让这个元素进入stu数组,否则,就一直生成随机数与arr数组对比.
stu.push(num);-------------------------//把随机数送进stu数组;
arr[j]=arr[arr.length-1];---------------//让arr数组最后一个元素等于当前与num相等的元素,然后爱人如数组长度减去1,间接的相当于把当前这个元素从1-31中剔除掉了
arr.length-=1;
}
}
}
document.write(stu);
document.write("<br>");
num=Math.floor(Math.random()*16+1);//增加一个元素,即第七个蓝球
document.write(num);
}
</script>
<button onclick="tcball()">生成双色球</button>

相关文章