跳到主要内容
TEACHING TOOL / 通用

随机分组器

把任意名单随机分成若干组——按组数平均分或按每组人数固定分,一键搞定课堂小组分配。

功能特性​

  • 名单输入 — 文本框内每行一个名字,支持中英文
  • 两种分组模式 — 按组数平均分 / 按每组人数固定分
  • Fisher–Yates 洗牌 — 公平随机,保证每个人出现概率一致
  • 分组配色 — 每组卡片随机分配 12 种预设颜色,视觉上更易区分
  • 统计信息 — 显示总人数、组数、平均每组人数
  • 淡入动画 — 分组卡片依次淡入呈现

使用步骤​

  1. 打开页面,在文本框内粘贴名单(每行一个名字)
  2. 选择分组方式 —— 填写「分组数量」或「每组人数」
  3. 点击「开始分组」,结果以卡片形式呈现
  4. 点击「清空」可重置名单与分组结果

快捷键​

键位作用
Ctrl + Enter(在名单输入框内)立即触发分组

两种分组模式说明​

模式适用场景
按组数平均分明确希望产生 N 组,组内人数尽量均匀
按每组人数固定分明确希望每组多少人,组数由总人数自动计算

技术实现​

  • 纯静态 — HTML + CSS + 原生 JavaScript,无任何依赖
  • Fisher–Yates 洗牌 — 经典 O(n) 时间复杂度的随机洗牌算法
  • CSS 动画 — @keyframes fadeIn + animation-delay 实现卡片依次淡入
  • 响应式 — 桌面端多栏网格,移动端单栏堆叠

适用场景​

  • 课堂小组活动随机分组
  • 团队建设分组
  • 任何需要将一群人随机拆分的场景