hx人员流动
hx人员流动
在上司哈尔滨出差的时候,现场有一位同事,有些时候摸鱼无聊会在 txt 文本上复制企业微信总群中人员名单,然后记录一下当前日期,对比两次日期变化的人员名单,便可以判断这段日期内的人员变动,不过他是靠眼睛对比的。
我在他这个小作品上稍微升级了一下,写了一个简单的 koa 程序,把两次名单相互求差集,就可以判断出这段日期中的人员流通,最开始数据库是用的 json-server 即一个简单 json,后面稍微学了一点点mysql,就改到mysql 去了。
核心就是求差集,大概这样:
// 名单是从企业微信复制出来的一整行,中英文逗号、分号、换行都可能出现
function parseNames(text) {
return [...new Set(
(text || "").split(/[,,;;\n\r\t]+/).map(s => s.trim()).filter(Boolean)
)]
}
// 两次名单相减,就知道这段日期里谁来了、谁跑了
function diffNames(current, previous) {
const cur = new Set(current)
const prev = new Set(previous)
return {
joined: current.filter(n => !prev.has(n)), // 这次有、上次没有
left: previous.filter(n => !cur.has(n)), // 上次有、这次没有
}
}
const { joined, left } = diffNames(parseNames(这次的), parseNames(上次的))
休息之余更新一下人员名单,得到hx 2024.0~2026.10(最后这次记录是找的在职同事帮忙复制的)的人员变化如下:

评论
加载评论…