我有来自 Firebase 数据库的一组字符串唯一 ID,其中一个如下所示:QXgZI3JB72Zf1qzeawIdxHSsPa62
我想向用户打印这些 id,但首先我想将 id 缩短到至少 7 个字符左右,但要超过该长度,以防两个缩短的 id 最终变得相等。这样,如果有人想要引用特定的 ID,他们可以使用缩短的版本,而不会意外引用多个内容。
有什么办法可以实现这一点吗?
<小时/>要更好地了解我在说什么,请参阅 git
命令 git rev-parse
( docs ),其中包含 --short
标志,将提交哈希值削减为至少 7 个字符长(但允许它更长,以防它不再唯一):
Instead of outputting the full SHA-1 values of object names try to abbreviate them to a shorter unique name.
最佳答案
我认为没有安全的方法可以在生成唯一 ID 后缩短它们 (CMIIAW)。
id的唯一性由中央服务器保证,它保证了它们的唯一性:在发生冲突的情况下,它将重新计算不同的id,直到它是唯一的。
如果在发出 ids 后缩短它们,则不能 100% 保证它们是唯一的,如果您不想重播服务器的工作,保留 ids 数据库...
正如您所说,git --short
打印提交 ID 的缩短版本,但是将允许它更长,以防它不再唯一 ...
关于javascript - 有没有一种方法可以缩短字符串唯一 ID 数组,同时仍确保唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453554/