发表于: 2021-03-11 19:50:46

1 1938


今天完成的事情:学会了如何生成三个不重复的随机数

明天计划的事情:修改任务一并提交,开始任务二

收获:

var arr = [0123456789];                //arr = (9) [0, 1, 2, 3, 4, 5, 6, 7, 8]
                                                         //定义一个数组变量
var result = [];                                         //result = []
                                                         //定义一个空的数组,等同于var arrNum = new array();
for (var i = 0i < 3i++) {                            //需要3个值,让for循环三次
    var ran = Math.floor(Math.random() * arr.length);    //ran = 0, arr = (9) [0, 1, 2, 3, 4, 5, 6, 7, 8]
                                                         //生成一个0~9之间的随机数,如生成0
    result.push(arr[ran]);                               //result = [0], arr = (9) [0, 1, 2, 3, 4, 5, 6, 7, 8], ran = 0
                                                         //push可以向数组中添加元素
    var center = arr[ran];                               //center = 0, arr = (9) [0, 1, 2, 3, 4, 5, 6, 7, 8], ran = 0
                                                         //定义变量存储数值
    arr[ran= arr[arr.length - 1];                      //arr = (9) [8, 1, 2, 3, 4, 5, 6, 7, 8], ran = 0
                                                         //使数组内的第ran+1个值和最后一个值相等,在这里是第一个值
    arr[arr.length - 1= center;                        //arr = (9) [8, 1, 2, 3, 4, 5, 6, 7, 0], center = 0
                                                         //使数组内的最后一个值等于之前变量存储的数值,相当于两个值互换了位置
    arr = arr.slice(0arr.length - 1);                  //arr = (8) [8, 1, 2, 3, 4, 5, 6, 7]
                                                         //slice可从已有的数组中返回选定的元素,第一个参数规定从哪里开始选取
                                                         //第二个参数规定从哪里结束,这里相当于把最后一个值剔除,得到一个新的数组
                                                         //从新的数组中重复以上过程,就得到了三个不相同的随机数
};



返回列表 返回列表
评论

    分享到