toString(36)
序
在某个开源项目里面发现一个随机生成 ID 的方法, 于是好奇的搜了搜, 发现一篇写的不错的文章!!!
方法源码
1 | Math.random().toString(36).substr(2, 9); |
这个方法会返回一串随机的 ID adp1r8xh7
类似于这样的
HackMD
在 HackMD 里面(一款很好用的在线编辑工具) 在上传的时候会有个占位 Tag
1 | ![Uploading file..._unv0ukdwd]() |
_unv0ukdwd
这个 ID 就是随机生成的!!!
Ant Design
分享给群友的时候, 群友提到 antd 里面也用到了了
1 | const children = []; |
因为是从 10 开始循环的 所以结果是从 A-Z
测试
1 | for (let i = 0; i < 36; i++) { |
上面是测试结果
0-9 输出了 0-9
10-35 输出了 a-z
36 为 undefined
如果转换的基数大于10,则会**使用字母**来表示大于9的数字,比如基数为16的情况,则使用a到f的字母来表示10到15。
复制文章的文字
End
在一些简单的随机数生成或者demo展示的时候这个方法应该还是挺好用的