本帖最后由 rain-xuan 于 2021-3-25 14:03 编辑
你好,这个代码逻辑好像只能遍历userList的第一个吧,后面的用户哭了。
我没学过Js,我根据我的理解改了一下,不知可对。
[JavaScript] 纯文本查看 复制代码 var userList = [
{
name: '张三',
pwd: '123456'
},
{
name: '李四',
pwd: '654321'
},
{
name: '王五',
pwd: '110110'
},
{
name: '赵六',
pwd: '999888666'
}
]
function errorpwd() {
var np = prompt('请重新输入密码');
if (np === cp) {
alert('登陆成功');
flag = 1;
} else {
errorpwd();
}
}
var i=0;
var flag = 0;
var n = prompt('请输入账号');
while (true) {
while(i<userList.length)
{
if(n===userList[i].name)
{
break;
}
i+=1;
}
if(i>=userList.length)
{
alert("未找到用户");
flag = -1;
break;
}
else
{
var num = i;
var p = prompt('请输入密码');
if (p === userList[num].pwd) {
alert('登陆成功');
var flag = 1;
break;
} else {
alert('密码错误');
cp = userList[num].pwd;
errorpwd();
break;
}
}
/*for (var i = 0; i < userList.length; i++) {
if (n === userList[i].name || n==userList[i+1].name) {
var num = i;
var p = prompt('请输入密码');
if (p === userList[num].pwd) {
alert('登陆成功');
var flag = 1;
break;
} else {
alert('密码错误');
cp = userList[num].pwd;
errorpwd();
break;
}
} else {
alert('账户名错误');
break;
}
}*/
if (flag === 1) {
break;
}
if(flag===-1)
{
break;
}
} |