javascript - 两次呼叫提示问题
问题描述
我无法运行两次提示。我不知道如何将语句底部的 let 语句与 var options = passwordOptions(); 无需运行两次提示。
function generatePassword() {
var options = passwordOptions();
var result = []
var possible = []
var guaranteed = []
var password = ""
if(options.specialCharacters){
possible = possible.concat(specChar)
guaranteed.push(getRandom(specChar))
password+= getRandom(specChar)
}
if(options.lowerCaseChar){
possible = possible.concat(lowerCase)
guaranteed.push(getRandom(lowerCase))
password+= getRandom(lowerCase)
}
if(options.upperCaseChar){
possible = possible.concat(upperCase)
guaranteed.push(getRandom(upperCase))
password+= getRandom(upperCase)
}
if(options.numChar){
possible = possible.concat(numbers)
guaranteed.push(getRandom(numbers))
password+= getRandom(upperCase)
}
let passwordLength = passwordOptions().passwordLength
while(password.length < passwordLength) {
password+=guaranteed[Math.floor(Math.random() * guaranteed.length)]
}
return password;
}
function getRandom(arr) {
var randomIndex = Math.floor(Math.random() * arr.length)
var randomElement = arr[randomIndex]
return randomElement;
}
解决方案
推荐阅读
- node.js - 你能让 Supertest 等待 Express 处理程序完成执行吗?
- python - 如何以正确的方式确定python中的碰撞
- sql - 如何使用 CASE 语句设置局部变量
- java - 如何在 Java 中使用来自 Azure KeyVault 的证书设置 SSLContext
- python - 使用子进程从 python 执行时,ssh 未被识别为命令?
- python - keras 中的 y_pred 是什么?
- python - 计算 DNA 序列中的三联体
- javascript - 如何使用ajax在mvc中的动态复选框中检查多个数据
- python - Python __init__.py,污染较少的命名空间
- c# - 如何使用C#在excel中复制垂直一行以粘贴到同一个文件中的另一个垂直