在JavaScript中生成隨機而唯一的字符串
在構建我的在線課程平台時,我遇到了生成數千個唯一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) }