洗牌算法中,随机数乘以数组的length是起什么作用?

clipboard.png
如图,为什么2种洗牌算法都用到乘以数组的lenght呢?

阅读 2.1k
2 个回答

Math.random() 得到的是 0 ~ 1 之间的随机数,再乘以 arr.length,才是 0 ~ arr.length 之间的随机数,才能得到随机获取的数组下标

上面是arr.length - i,不是-1

随机数乘以arr.length,是为了随机获取到数组的下标,然后交换这两个数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题