在構建我的在線課程平台時,我遇到了生成數千個唯一URL的問題。
每個參與課程的人都會被分配一個唯一的URL。後端知道所有這些URL並將有效的URL映射到課程內容上。
我希望有一個唯一的URL,因為我可以將URL關聯到購買郵件。
這樣,我就可以避免使用登錄功能,同時讓每個人都有一個單獨的URL,以便在URL意外或故意被公開分享時,我可以阻止濫用。
於是我開始寫我的Node.js腳本。
我使用了randomstring這個包,並將數字添加到Set對象中,直到我得到想要的數量。使用Set意味著每個字符串都是唯一的,因為調用add
並傳遞重複的字符串不會產生任何效果。
我創建了一個名為generateStrings()
的函數來返回這個Set:
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是每個字符串的長度。
一旦我們獲得了這個Set,我們可以使用values()
Set方法來遍歷它們:
for (const value of strings.values()) {
console.log(value)
}