在 JavaScript 或 TypeScript 中生成唯一的随机数

Bro*_*ato 5 javascript random typescript

我需要在 javascript(或 Typescript)中获取唯一的随机数。

此时我使用这段代码:

var id = -((new Date()).getTime() & 0xffff);
Run Code Online (Sandbox Code Playgroud)

它返回给我类似-13915或这样的数字-28806...

它在大多数情况下都有效,但是当此代码在承诺中执行时(因此几乎同时执行多次),我遇到了问题。有时我会得到两个相同的 id。

有什么解决方案可以在任何情况下获得唯一的随机数吗?

小智 5

互联网上有很多例子。您可以从使用开始Math.random() 。例如:生成1到100之间的随机数

Math.floor((Math.random() * 100) + 1);
Run Code Online (Sandbox Code Playgroud)

请记住,它并不是真正随机的;它是随机的。它在加密上不安全。如果您需要的话,您可能应该查看图书馆