"function" 无法验证数据
Trouble with "function" to verify data
它应该return newsFeed 数组与任何数据库(用户名+密码),但它只适用于第一个用户,即使其他人是正确的。
我会让 link 到 CodePen。感谢大家
https://codepen.io/kennedyrmenezes/pen/OJbRKay
var database = [
{
username: "andrei",
password: "supersecret"
},
{
username: "sally",
password: "123"
},
{
username: "ingrid",
password: "777"
}
];
var newsFeed = [
{
username: "Bobby",
timeline: "So tired from all that learning"
},
{
username: "Sally",
timeline: "JavaScript is sooooooo cool!"
},
{
username: "Mitch",
timeline: "JavaScript is pretty cool"
}
];
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!");
}
}
var userNamePrompt = prompt("What's your username?");
var passwordPrompt = prompt("What's your password?");
signIn(userNamePrompt, passwordPrompt);
这是因为您在 for 循环内部而不是外部 returning false。如果 i = 0 迭代失败,那么你会 return false。相反,如果所有迭代都失败,您只想 return false。
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;
}
它应该return newsFeed 数组与任何数据库(用户名+密码),但它只适用于第一个用户,即使其他人是正确的。
我会让 link 到 CodePen。感谢大家
https://codepen.io/kennedyrmenezes/pen/OJbRKay
var database = [
{
username: "andrei",
password: "supersecret"
},
{
username: "sally",
password: "123"
},
{
username: "ingrid",
password: "777"
}
];
var newsFeed = [
{
username: "Bobby",
timeline: "So tired from all that learning"
},
{
username: "Sally",
timeline: "JavaScript is sooooooo cool!"
},
{
username: "Mitch",
timeline: "JavaScript is pretty cool"
}
];
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!");
}
}
var userNamePrompt = prompt("What's your username?");
var passwordPrompt = prompt("What's your password?");
signIn(userNamePrompt, passwordPrompt);
这是因为您在 for 循环内部而不是外部 returning false。如果 i = 0 迭代失败,那么你会 return false。相反,如果所有迭代都失败,您只想 return false。
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;
}