我正在尝试创建一个登录函数,以便当我输入数据库中的用户名和密码时,它将检查这是否匹配并返回新闻源。数据库是这样的:
var database=[
{
username:"Jay",
password:"1234",
},
{
username:"Kate",
password:"4567",
},
{
username:"Betty",
password:"789",
}
]
var newsfeed=[
{
username:"Jay",
timeline:"happy"
},
{
username:"Kate",
timeline:"sad"
},
{
username:"Mary",
timeline:"boring"
},
{
username:"Betty",
timeline:"peaceful",
}
];
现在我尝试在用户名和密码中获取提示,例如“Betty”和“789”,它返回“对不起,错误的用户名和密码”,但它在数据库中!代码如下:
var usernamePrompt = prompt("what is your username");
var passwordPrompt = prompt("what is your password?");
function isUserValid(username, password) {
for (var i = 0; i < database.length; i++) {
if (database[i].username === username &&
database[i].password === password) {
return true;
} else {
return false;
}
}
}
function signIn(username, password){
if (isUserValid(username, password)){
console.log(newsfeed);
}else{
alert("sorry, wrong username and password");
}
}
signIn(usernamePrompt, passwordPrompt);
我只是得到正确的答案,如下所示,但是1)我不明白放置“其他”和不放置它之间的区别。2)我不明白为什么我们不需要把“if(isUserValid(用户名,密码===true))”来表示需要匹配的条件。
var usernamePrompt = prompt("what is your username");
var passwordPrompt = prompt("what is your password?");
function isUserValid(username, password){
for(var i=0;i<database.length;i++){
if(database[i].username===username&&
database[i].password===password){
return true;
}
}
return false;
}
function signIn(username, password){
if (isUserValid(username, password)){
console.log(newsfeed);
}else{
alert("sorry, wrong username and password");
}
}
signIn(usernamePrompt, passwordPrompt);
感谢您的帮助。
函数式编程
呼如林
catspeake
偶然的你
相关分类