JS随机彩票效果

1、先生成一个元素为1到30的数组,然后随机7次,每次从中取出一位元素,写入到新的数组中,并删除该元素在就数组的位置,然后输出新数组

var oldArr= [];
for(var i=1;i<=30;i++){
    oldArr.push(i);
}
var newArr = [];
for(var j=1;j<=7;j++){
    newArr.push(oldArr[Math.floor(Math.random()*oldArr.length)]);
    oldArr.splice(Math.floor(Math.random()*oldArr.length),1);
}
document.write(newArr);

2、先生成一个元素为1到30的数组,然后随机23次删除该数组的元素,最后输出剩下的7位

var arr = [];
for(var i=1;i<=30;i++){
    arr.push(i);
}
// document.write(arr);
for(var j=1;j<=23;j++){
    arr.splice(Math.floor(Math.random()*arr.length),1);
}
document.write(arr);

3、先生成一个空数组;然后向数组填充30次随机数,然后将重复的随机数删除,然后再输出数组的前七位(或者随机输出数组的7位)

  var arr = [];
    for(var i=1;i<=30;i++){
        arr.push(Math.ceil(Math.random()*30));
    }
    for(var i=0;i<arr.length;i++){
        for(var j=i+1;j<arr.length;j++){
            if(arr[i]===arr[j]){
                arr.splice(j,1);
                j--;
            }
        }
    }
    var shuzu = [];
    for(var k=0;k<7;k++){
        shuzu.push(arr[k]);
    }
    document.write(shuzu);

前两种是老师说的,最后一种写法是按照自己的思路写的,把自己坑了一把,脑子被门夹了~~~

已有 6 条评论
  1. 这个你要搞彩票么

    1. 没有,只是一个小的练手题而已。

  2. 直接封装起来啊,以后买彩票之前就用这个摇一摇

  3. 这个以后网站搞抽奖啊什么的可以用诶...

添加新评论