JS随机数生成代码中digits-1的作用及修改疑问咨询
关于生成随机数代码中
digits = digits -1的解释 原代码中这行的作用
你代码里的digits变量是用来控制生成随机数的总数量的。原逻辑要生成6个不重复数,这行digits = digits -1是为了适配编程里「从0开始计数」的规则,让循环刚好执行6次:
比如你初始给digits赋值为6,要是直接用这个数做循环终止条件,可能会多生成1个或者少生成1个;减1之后,循环的次数就刚好对应你要的6个随机数,不会多也不会少。
改成digits = digits -2后只生成4个的原因
当你把减1改成减2,相当于把循环的执行次数直接减少了2次。原先是6次循环生成6个数,现在变成4次循环,自然就只生成4个随机数了——这完全符合你看到的现象。
直白点说:假设你要数6个数,原代码里是从0数到5(共6个),减1就是把终点从6改成5;改成减2后,终点变成4,数出来就是0到3,一共4个数,对应生成4个随机数。
内容的提问来源于stack exchange,提问作者james.vow
相关产品推荐
相关产品推荐

