老师能不能详细讲一下这两条语句,不是很明白

老师能不能详细讲一下这两条语句,不是很明白

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
imooc_慕慕 2022-06-06 11:53:54

同学你好,

       var  arr = [1,2,3] ;

       此时数组的下标 0,1,2    可以简单的理解为 [0-2]

       数组的长度

       var len = arr.length;

       console.log(len)  //3

       arr.length-1 = 2;

       数组的长度是不是可以表示为 0~arr.length - 1;

       [a-b]随机数  parseInt(Math.random() * (b-a+1)) + a;

       Math.random() * (b-a+1)   

       Math.random() * (2-0+1)   =   Math.random() * arr.length

       因为a是第一个下标为0,所以a = 0; 

       parseInt(Math.random() * (b-a+1)) + a  ; 

       相当于 parseInt(Math.random() * (b-a+1)) + 0 ;

       简写为

       parseInt(Math.random() * arr.length)

祝学习愉快~

  • 提问者 派大星爱学习 #1

    老师讲一下它的运行机理,还是不太明白

    2022-06-06 17:48:11
  • imooc_慕慕 回复 提问者 派大星爱学习 #2

    同学你好,Math.random()方法返回大于等于0小于1的一个随机数,即(0,1];

    比如0-3之间的随机数,是会包含0,不包含3的,(0,3] ,即(min,max],所以第一个0是包含在内的,

     parseInt()表示取整数;parseInt(Math.random() * (b-a+1)) ,取的即是随机的整数,但是随机的整数中会包含第一个0,所以 parseInt(Math.random() * (b-a+1)) + a;

    如果还有疑问可以文图结合,能更快准确的帮助解决疑问,祝学习愉快~


    2022-06-06 19:12:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师