如图,为什么2种洗牌算法都用到乘以数组的lenght呢?
Math.random() 得到的是 0 ~ 1 之间的随机数,再乘以 arr.length,才是 0 ~ arr.length 之间的随机数,才能得到随机获取的数组下标
Math.random()
上面是arr.length - i,不是-1
arr.length - i
随机数乘以arr.length,是为了随机获取到数组的下标,然后交换这两个数
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
4 回答3.4k 阅读✓ 已解决
2 回答3.9k 阅读
8 回答13.3k 阅读✓ 已解决
2.5k 阅读
2 回答2.1k 阅读
Math.random()
得到的是 0 ~ 1 之间的随机数,再乘以 arr.length,才是 0 ~ arr.length 之间的随机数,才能得到随机获取的数组下标