Générer des chaînes aléatoires et uniques en JavaScript

Comment j'ai créé un tableau de 5000 chaînes uniques en JavaScript

Pendant que je construisais la plate-forme pour mon cours en ligne, j'ai eu le problème de générer quelques milliers d'URL uniques.

Chaque personne qui suit le cours se verra attribuer une URL unique. Le backend connaît toutes ces URL et mappe une URL valide au contenu du cours.

Je voulais une URL unique car je peux associer une URL à un e-mail d'achat.

De cette façon, je peux éviter d'avoir une connexion, et en même temps avoir une URL distincte pour chaque personne me permet de bloquer les éventuels abus si cette URL est involontairement ou intentionnellement partagée dans le public.

J'ai donc décidé d'écrire mon script Node.js.

J'ai utilisé lechaîne aléatoirepackage, et j'ai ajouté des numéros à unDéfinir l'objetjusqu'à ce que j'aie le numéro que je voulais. L'utilisation d'un ensemble signifie que chaque chaîne sera unique car l'appeladdet passer une chaîne en double ne fera rien en silence.

J'ai fait ungenerateStrings()fonction qui renvoie l'ensemble:

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

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

return s }

Je peux l'appeler en utilisant

const strings = generateStrings(100, 20)

où 100 est le nombre de chaînes que je veux et 20 est la longueur de chaque chaîne.

Une fois que nous obtenons l'ensemble, nous pouvons les parcourir en utilisant levalues()Définir la méthode:

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

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: