分组名字生成器

把名单粘进来、定好组数,本页用 Fisher-Yates 洗牌均分,再给每组抽一个前缀加核心的组合名。同一批人不会总被分到一起。

四种风格的组名组合示例(每格都是一个完整组名)
组名风格来源
暗影之刃电竞前缀「暗影」× 核心「之刃」
雷霆战旗电竞前缀「雷霆」× 核心「战旗」
寒霜军团电竞前缀「寒霜」× 核心「军团」
苍穹守望奇幻前缀「苍穹」× 核心「守望」
破晓游侠奇幻前缀「破晓」× 核心「游侠」
秘银议会奇幻前缀「秘银」× 核心「议会」
量子舰队科幻前缀「量子」× 核心「舰队」
曲率协议科幻前缀「曲率」× 核心「协议」
深空矩阵科幻前缀「深空」× 核心「矩阵」
红星小组通用前缀「红星」× 核心「小组」
长风战队通用前缀「长风」× 核心「战队」
白露行动组通用前缀「白露」× 核心「行动组」

口径:先对名单做 Fisher-Yates 洗牌,再按「组数除不尽时前面几组多一人」切分;组名 = 前缀 + 核心,各从词库独立抽取。演示 10 人分 3 组得到 4 / 3 / 3 人。

使用方法

分组名字生成器把「随机分人」和「给组取名」合成一步,操作四步:

  1. 在「名单」框里每行贴一个名字,示例已预填 10 个人,可以直接改。
  2. 「分成几组」填 2 到 12,演示值 3;组数不能超过名单行数。
  3. 「词库风格」选电竞、奇幻、科幻或通用,只影响组名用词,不影响分组结果。
  4. 点「随机分组」,结果区给出每组组名、人数与成员;点「复制结果」整段拿走,或导出 CSV 留档。

想换一批就再点一次「随机分组」;名单框里按 Ctrl / Cmd + Enter 也能触发分组。

分组名字生成器能解决什么

它解决「人多、要公平分组、还得给组起名」这类重复劳动,典型场景有三种:

  • 团建与拓展:10 人分 3 组,随机后不会出现「熟人抱团」,组名直接拿去贴在队旗上。
  • 课堂小组:把学号名单粘进来,按 4 组切分,组名统一风格便于点名与计分。
  • 抽签与比赛:赛前分组用随机洗牌保证公平,导出 CSV 可留档备查。

它与纯「队名生成器」的分工是:那个只出名字不管人,本页把人分好再顺手命名,适合需要「人 + 组名」一起交付的场合。

原理和变量

① 用了哪个算法:洗牌用 Fisher-Yates——从末位往前扫,每次在 [0, i] 里取随机下标 j,交换第 i 与第 j 项。姓名分隔用 split(/\r?\n/),再做 trim 过滤空行。

② 为什么不用 sort 随机排序:arr.sort(function () { return Math.random() - 0.5; }) 看似方便,但比较函数对同一对元素可能给出互相矛盾的结论,违反了排序算法的一致性假设。V8 用的 TimSort 在这种输入下会产生明显偏斜:原列表中间的元素更容易被留在中间。Fisher-Yates 每个下标只抽一次,n 个元素正好对应 n! 种等概率排列。

③ 组数怎么分配人数:设人数 n、组数 g,先算 base = Math.floor(n / g) 与 rem = n % g;前 rem 组各拿 base + 1 人,其余组拿 base 人。10 人分 3 组就是 base = 3、rem = 1,得到 4 / 3 / 3。

④ 输入怎么变成输出:10 人名单洗牌后按 4 / 3 / 3 切开;每组再各抽一次前缀与核心,拼成组名,例如「暗影」+「之刃」得到 暗影之刃。抽词用 Math.floor(Math.random() * 词库长度)。

⑤ 边界与阈值:名单为空、组数小于 2、组数大于人数三种情况都会点名报错,不会静默返回空结果;名单里重复的名字按行计数,同名两人会被分到不同组;一行里前后空格会被裁掉。

⑥ 常见误用的正确解释:一是以为「分组」会把同名的人合并——不会,按行处理;二是以为换个风格会保留上一批分组——不会,换风格只换词库,需要重新点分组;三是把组数填成 1,那等于没分组,页面会直接拦下。

完整示例

演示输入:名单 10 人(张三、李四、王五、赵六、钱七、孙八、周九、吴十、郑一、王二),分成 3 组,风格电竞。

  • 洗牌后按 4 / 3 / 3 切开:第一组 4 人、第二组 3 人、第三组 3 人,合计 10 人不多不少
  • 三组组名各由「前缀 + 核心」独立抽取,可能得到「暗影之刃」「雷霆战旗」「寒霜军团」这类组合
  • 再点一次「随机分组」,人员与组名都会变;同一批人连点两次得到相同分组的概率约为 1 ÷ 4200

队列里共 6 个前缀 × 6 个核心 = 36 种组合,够 12 组以内不重名;真要重名也只是观感问题,不影响分组公平性。

输入范围与对照表

下表列出四种风格的组名组合示例,每行都是一个完整组名,可用来对照生成结果的语言风格:

四种风格的组名组合示例
组名风格来源
暗影之刃电竞前缀「暗影」× 核心「之刃」
雷霆战旗电竞前缀「雷霆」× 核心「战旗」
寒霜军团电竞前缀「寒霜」× 核心「军团」
苍穹守望奇幻前缀「苍穹」× 核心「守望」
破晓游侠奇幻前缀「破晓」× 核心「游侠」
秘银议会奇幻前缀「秘银」× 核心「议会」
量子舰队科幻前缀「量子」× 核心「舰队」
曲率协议科幻前缀「曲率」× 核心「协议」
深空矩阵科幻前缀「深空」× 核心「矩阵」
红星小组通用前缀「红星」× 核心「小组」
长风战队通用前缀「长风」× 核心「战队」
白露行动组通用前缀「白露」× 核心「行动组」

输入范围:名单 2 到 200 行,每行最长 30 个字符;组数 2 到 12,且不得大于名单行数。风格只有四档,不做自定义词库。

结果边界和舍入

三条边界说明:

  • 真正做到均分:人数除不尽时余数只让前几组多 1 人,绝不出现「一组 5 人一组 1 人」这种分配。10 人 3 组固定是 4 / 3 / 3。
  • 随机但可复现:本页用的是 Math.random,刷新页面不会保留上一批结果;需要复现请用结果区的「复制结果」或「导出 CSV」留档。
  • 组名不保证唯一:36 种组合里随机抽 12 次以内基本不撞,但页面不做去重强制,组名重复不影响分组结果。

常见问题

组数能超过人数吗?

不能。组数必须小于等于名单行数,超过会直接报错,避免出现空组。

为什么分组每次都不一样?

页面用的是浏览器随机数,每次点击都会重新洗牌。想留档请点「复制结果」或「导出 CSV」。

同名的人会被分到一起吗?

按行处理,同名但不同行的两人会被当作两个独立成员参与洗牌,可能分到同一组也可能分开。

组名会重复吗?

词库共 36 种组合,12 组以内基本不会撞名;页面不做强制去重,重复只是观感问题。

能自定义词库吗?

本页不提供自定义词库。需要自己的叫法,可复制结果后在文本编辑器里统一替换。

名单里的空行怎么处理?

空行与你输入的前后空格都会被自动裁掉,不会产生「空组员」。

分组是随机的还是轮流的?

完全随机,用 Fisher-Yates 洗牌保证每种排列等概率,不是按顺序轮流分配。

数据会上传吗?

不会。名单与分组结果全部在浏览器本地处理,不联网、不上传。

相关工具