JavaScript洗牌算法

设想这样一个场景,五名同学需要随机排座位

我们选定一个参考点4号位置,把4号位置同学和其他同学随机交换位置,然后参考点前移,然后再选择参考点3,再把3号位置同学和其他位置同学进行交换,以此类推;

  

 

 

 

 

 

 

复制代码
var students = ['学生1', '学生2', '学生3', '学生4', '学生5']
function random(students){
  let length = students.length, index, temp // index交换序号   temp临时变量
  for(let point = length - 1;point >= 0; point --) {
     index = Math.floor(Math.random() * point)
     temp = students[index]
     students[index] = students[point]
     students[point] = temp 
 }   
 return students
}
复制代码

 

posted @   大桥默默学  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示