Avatar ·

Como gerar uma string aleatória de comprimento específico em JavaScript?

Olá a todos! Sou novo em JavaScript e estou escrevendo um pequeno projeto — um gerador de senhas para um aplicativo de estudo. Preciso criar uma função que retorne uma string de caracteres aleatórios (letras latinas, dígitos) de um comprimento específico. Por exemplo, se eu passar o número 8, a função deve retornar algo como "aB3kL9zP". Tentei escrever minha própria versão, mas ela funciona de forma estranha: às vezes retorna uma string mais curta do que o necessário, ou até mesmo vazia. Aqui está meu código: ```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)); ``` Às vezes isso exibe `undefined` no meio da string ou os caracteres se repetem com muita frequência. Eu entendo que `Math.random()` retorna um número de 0 a 1, mas não consigo entender como usá-lo corretamente para selecionar um índice da string.