Avatar ·

Cómo generar una cadena aleatoria de longitud específica en JavaScript

¡Hola a todos! Soy nuevo en JavaScript y estoy escribiendo un pequeño proyecto: un generador de contraseñas para una aplicación educativa. Necesito crear una función que devuelva una cadena de caracteres aleatorios (letras latinas, dígitos) de una longitud determinada. Por ejemplo, si paso el número 8, la función debería devolver algo como "aB3kL9zP". Intenté escribir mi propia versión, pero funciona de manera extraña: a veces devuelve una cadena más corta de lo necesario, o incluso vacía. Aquí está mi 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)); ``` A veces esto muestra `undefined` en medio de la cadena o los caracteres se repiten con demasiada frecuencia. Entiendo que `Math.random()` da un número de 0 a 1, pero no puedo entender cómo usarlo correctamente para seleccionar un índice de la cadena.