在JavaScript中生成隨機且唯一的字符串

如何在JavaScript中創建5000個唯一字符串的數組

在構建用於在線課程的平台時,我遇到了生成數千個唯一URL的問題。

每個參加該課程的人都將被分配一個唯一的URL。後端知道所有這些URL,並將有效的URL映射到課程內容。

我想要一個唯一的URL,因為我可以將URL與購買電子郵件相關聯。

這樣,我就可以避免進行登錄,同時為每個人使用單獨的URL,可以使我阻止最終的濫用,如果該URL被無意或故意在公眾中共享。

因此,我著手編寫我的Node.js腳本。

我用了隨機串包,然後我將數字添加到設定物件直到我得到想要的電話號碼。使用Set意味著每個字符串都是唯一的,因為調用add並傳遞重複的字符串將無提示地執行任何操作。

我製造了一個generateStrings()返回集合的函數:

const generateStrings = (numberOfStrings, stringLength) => {
  const randomstring = require('randomstring')
  const s = new Set()

while (s.size < numberOfStrings) { s.add(randomstring.generate(stringLength)) }

return s }

我可以用

const strings = generateStrings(100, 20)

其中100是我想要的字符串數,而20是每個字符串的長度。

取得設定後,我們可以使用values()設置方法:

for (const value of strings.values()) {
  console.log(value)
}

免費下載我的JavaScript初學者手冊


更多js教程: