Comment générer une chaîne aléatoire d'une longueur donnée en JavaScript ?
Bonjour à tous ! Je suis débutant en JavaScript et je travaille sur un petit projet — un générateur de mots de passe pour une application d'apprentissage. J'ai besoin de créer une fonction qui retourne une chaîne de caractères aléatoires (lettres latines, chiffres) d'une longueur définie. Par exemple, si je passe le nombre 8, la fonction doit retourner quelque chose comme "aB3kL9zP".
J'ai essayé d'écrire ma propre version, mais elle fonctionne bizarrement : parfois elle retourne une chaîne plus courte que nécessaire, ou même vide. Voici mon code :
```javascript
function generateRandomString(length) {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (let i = 0; i < length; i++) {
result += characters[Math.random() * characters.length];
}
return result;
}
console.log(generateRandomString(5));
```
Parfois cela affiche `undefined` au milieu de la chaîne ou les caractères se répètent trop souvent. Je comprends que `Math.random()` donne un nombre entre 0 et 1, mais je n'arrive pas à comprendre comment l'utiliser correctement pour sélectionner un index dans la chaîne.