TEACHING TOOL / 通用
随机分组器
把任意名单随机分成若干组——按组数平均分或按每组人数固定分,一键搞定课堂小组分配。
功能特性
- 名单输入 — 文本框内每行一个名字,支持中英文
- 两种分组模式 — 按组数平均分 / 按每组人数固定分
- Fisher–Yates 洗牌 — 公平随机,保证每个人出现概率一致
- 分组配色 — 每组卡片随机分配 12 种预设颜色,视觉上更易区分
- 统计信息 — 显示总人数、组数、平均每组人数
- 淡入动画 — 分组卡片依次淡入呈现
使用步骤
- 打开页面,在文本框内粘贴名单(每行一个名字)
- 选择分组方式 —— 填写「分组数量」或「每组人数」
- 点击「开始分组」,结果以卡片形式呈现
- 点击「清空」可重置名单与分组结果
快捷键
| 键位 | 作用 |
|---|---|
Ctrl + Enter(在名单输入框内) | 立即触发分组 |
两种分组模式说明
| 模式 | 适用场景 |
|---|---|
| 按组数平均分 | 明确希望产生 N 组,组内人数尽量均匀 |
| 按每组人数固定分 | 明确希望每组多少人,组数由总人数自动计算 |
技术实现
- 纯静态 — HTML + CSS + 原生 JavaScript,无任何依赖
- Fisher–Yates 洗牌 — 经典
O(n)时间复杂度的随机洗牌算法 - CSS 动画 —
@keyframes fadeIn+animation-delay实现卡片依次淡入 - 响应式 — 桌面端多栏网格,移动端单栏堆叠
适用场景
- 课堂小组活动随机分组
- 团队建设分组
- 任何需要将一群人随机拆分的场景