Avatar ·

如何在 JavaScript 中生成指定长度的随机字符串?

大家好!我是 JavaScript 新手,正在为学习应用编写一个小项目——密码生成器。我需要创建一个函数,返回由随机字符(拉丁字母、数字)组成的指定长度字符串。例如,如果传入数字 8,函数应返回类似 "aB3kL9zP" 的内容。 我尝试写了自己的版本,但运行起来很奇怪:有时返回的字符串比需要的短,甚至为空。这是我的代码: ```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)); ``` 有时字符串中间会输出 `undefined`,或者字符重复太频繁。我知道 `Math.random()` 返回 0 到 1 之间的数,但不知道如何正确用它来选择字符串中的索引。