Javascript 如何摆脱这个循环
我用JS开发了一个简单的登录系统。当密码、用户名或两者都不正确时,将显示警报,但现在显示4。我知道这是因为for循环,但我不知道如何在不破坏所有代码的情况下摆脱它。提前感谢=) 我在这里留下一段代码:Javascript 如何摆脱这个循环,javascript,for-loop,Javascript,For Loop,我用JS开发了一个简单的登录系统。当密码、用户名或两者都不正确时,将显示警报,但现在显示4。我知道这是因为for循环,但我不知道如何在不破坏所有代码的情况下摆脱它。提前感谢=) 我在这里留下一段代码: function getName() { var user = document.getElementById('Username').value; var pass = document.getElementById('Password').value;
function getName() {
var user = document.getElementById('Username').value;
var pass = document.getElementById('Password').value;
for (let f = 0; f < arr.length; f++) {
if (user == arr[f][0] && pass == arr[f][1]) {
document.write("Welcome back ", user, ", we've missed you");
}
if (user == arr[f][0] && pass != arr[f][0]) {
alert("Your password is incorrect");
}
else if (user != arr[f][0] && pass == arr[f][1]) {
alert("Your username is incorrect");
}
else {
alert("Unnexistant account");
}
}
}
函数getName(){
var user=document.getElementById('Username')。值;
var pass=document.getElementById('Password')。值;
对于(设f=0;f中断
在每个文档之后。编写或警告语句。如果一个帐户的用户名错误,您不想告诉他们他们的帐户不存在,直到您检查每个帐户:
函数getName(){
var user=document.getElementById('Username')。值;
var pass=document.getElementById('Password')。值;
对于(设f=0;farr
是用户名和密码的数组,您可以将其转换为Map
并完全删除循环
const map = new Map();
arr.map(e => m.set(e[0], e[1]));
try {
if (map.get(user) === pass) {
document.write("welcome back " + user + ", we missed you.");
} else {
// although this might be too much info from a security standpoint.
document.write("incorrect password");
}
} catch (e) {
document.write("could not find user.");
}
delete键是一个好的开始(I kid I kid)---什么是
arr
?它是一组用户和密码吗?!什么是arr
,为什么首先有一个循环?我猜你所有的用户和密码都存储在里面了?在这种情况下,您不能删除循环,但您必须添加break代码>语句在适当的位置扫描您发布的arr
?文档。write()只接受一个参数。。。您希望+
而不是逗号来构建字符串。但在页面加载后调用时,它也会清除页面中的所有内容是的,arr是用户名和密码的数组。很抱歉,如果我写错了什么,我在这方面并不陌生,有时对我来说也很难。谢谢你的反馈,非常感谢:谢谢你回答这个问题。如果你特别喜欢一个答案(不管是哪一个),为了回答者和将来看这个问题的人,请把它标记为正确答案!欢迎来到SO:)非常感谢你的反馈,伙计^^