Skip to content

Generate random and unique strings in JavaScript

New Course Coming Soon:

Get Really Good at Git

How I created an array of 5000 unique strings in JavaScript

As I was building the platform for my online course I had the problem of generating a few thousands unique URLs.

Every person taking the course will be assigned a unique URL. The backend knows about all those URLs and maps a valid URL to the course content.

I wanted a unique URL because I can associate a URL to a purchase email.

In this way, I can avoid having a login, and at the same time having a separate URL for each person lets me block eventual abuse if that URL gets unintentionally or intentionally shared in the public.

So I set out to write my Node.js script.

I used the randomstring package, and I added numbers to a Set object until I got the number I wanted. Using a Set means every string will be unique because calling add and passing a duplicate string will silently do nothing.

I made a generateStrings() function that returns the set:

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

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

  return s
}

I can call it using

const strings = generateStrings(100, 20)

where 100 is the number of strings I want, and 20 is the length of each string.

Once we get the set, we can iterate over them using the values() Set method:

for (const value of strings.values()) {
  console.log(value)
}
Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching May 21, 2024. Join the waiting list!
→ Get my JavaScript Beginner's Handbook
→ Read my JavaScript Tutorials on The Valley of Code
→ Read my TypeScript Tutorial on The Valley of Code

Here is how can I help you: