js实验题3(产生随机奇数,抽奖程序,移出数组arr([1,2,3,4,2,5,6,2,7,2])中与2元素不改变原素组,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置)

版权声明: https://blog.csdn.net/qq_31255557/article/details/89365691

 /*随机产生10个20-50之间的随机整数(要求必须是奇数),并保存到数组。
      实验1:
      思路:
      (1)产生一个随机数n[20,50] ;
      (2)判断N是否奇数
      (3)是奇数,N保存到数组中a[i]=n;
      (4) i++;产生下一个随机数,继续步骤1
      (5)如果(2)中判断为偶数,则继续产生下一个随机数。
      以上步骤要求执行10次,最终实现操作
 */
var i,j;
var arr = new Array(10);
for(i=0;i<10;i++){
    j=Math.floor(Math.random()*(50-20+1)+20);
    //alert(j%2);
    if(j%2!=0){
        arr[i]=j;
        //alert("1");
    }else{
        i--;
    }
}
document.write("奇数数组元素为:");
for(i=0;i<10;i++){
    document.write(arr[i]+",");
}
*********************************************************************************************************************
//实验2移出数组arr([1,2,3,4,2,5,6,2,7,2])中与2相等的元素,
//并生成一个新数组,不改变原数组。
/*
 * 循环判断数组元素,如果当前元素为2,置空,后面元素前移
*/
var arr= new Array(1,2,3,4,2,5,6,2,7,2);
var newarr = new Array();
for (var i=0,j=0;i<arr.length;i++) {    //循环数组元素,判断元素是否为2
    if(arr[i]!=2){    //如果不是2,赋值到新数组
        newarr[j]=arr[i];
       alert(newarr[j]);
        j++;
    }
}

*********************************************************************************************************************

//实验3
//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
//利用indexOf()函数统计数组arr['a','b','d','d','c','d','d']中元素d出现的次数,
//并同时返回其对应的所有索引下标
var arr=new Array('a','b','d','d','c','d','d');
var numarr = new Array();
var indexnum=0,num;
for (var i=0;i<arr.length;i++) {
    num = arr.indexOf('d',0);    //获得第一个d的下表
    if(num!=-1){    //记录个数
        numarr[indexnum]=num;
        indexnum++;
    }
    arr[num]='c';
}
document.write('元素d出现的次数'+indexnum+'<br />');
document.write('所有索引下标:')
for(var i=0;i<numarr.length;i++){
    document.write(numarr[i]+',');
}

*********************************************************************************************************************
//实验4制作一个抽奖程序,要求在1-10中抽出3个幸运号码,各不相同
//随机函数抽1-3整数,Math.floor(Math.random()*(10-1+1)-1)
/*
 * 重复
 第二个和第一个
 第三个和第二个
 第三个和第一个
 */
var arr = new Array();
for(var i=0;i<3;i++){
    var num = Math.floor(Math.random()*(10-1+1)+1);    //抽一个1-10之间的随机数
    arr[i]=num;    //赋值到数组中
    if(arr[1]==arr[0]||arr[2]==arr[1]||arr[2]==arr[0]){
        i=0;
    }
}
for (var i=0;i<arr.length;i++) {
    document.write("抽中的三个数是:"+arr[i]+',');
}

猜你喜欢

转载自blog.csdn.net/qq_31255557/article/details/89365691