JavaScript If-Else条件
我有一个JS if/else问题。如果输入正确的用户名和密码,else语句也会执行,我能知道原因吗 如果用户名和密码正确,则只执行if语句。为什么两人都被处决了? 代码如下:JavaScript If-Else条件,javascript,if-statement,conditional-statements,Javascript,If Statement,Conditional Statements,我有一个JS if/else问题。如果输入正确的用户名和密码,else语句也会执行,我能知道原因吗 如果用户名和密码正确,则只执行if语句。为什么两人都被处决了? 代码如下: var database = [ { username: "john83reuben", password: "12345" }, { username: "jdominic", password: "1234
var database = [
{
username: "john83reuben",
password: "12345"
},
{
username: "jdominic",
password: "12345"
},
{
username: "johnreuban",
password: "12345"
}
];
newsfeed =[
{ username: "john83reuben", timeline: "Psalm 118:19. I will extol the Lord at all times; His praise will always be on my lips"},
{ username: "jdominic", timeline: "Psalm 34:1-3. I thank you, Lord, with all my heart; I sing praise to you before the gods."},
{ username: "johnreuban", timeline: "Psalm 138: 1-2. I will give thanks to the Lord because of his righteousness;"}
];
function signIn(user,pass){
for(let i=0; i < database.length ; i++){
if(database[i].username === user && database[i].password === pass ){
console.log(newsfeed);
}else{
console.log("Error");
}
}
}
var usernamePrompt = prompt("What is your username?");
var passwordPrompt = prompt("What is your password?");
signIn(usernamePrompt,passwordPrompt);
var数据库=[
{
用户名:“john83reuben”,
密码:“12345”
},
{
用户名:“jdominic”,
密码:“12345”
},
{
用户名:“johnreuban”,
密码:“12345”
}
];
新闻提要=[
{username:“john83reuben”,时间轴:“诗篇118:19。我要时时赞美耶和华;他的赞美永远挂在我的嘴边”},
{用户名:“jdominic”,时间轴:“诗篇34:1-3。主啊,我衷心感谢你;我在众神面前歌颂你。”,
{用户名:“约翰鲁班”,时间轴:“诗篇138:1-2。我要因耶和华的公义感谢他;”
];
功能登录(用户,通过){
for(设i=0;i
您正在检查数据库的整个列表
var,当它与没有正确凭据的项匹配时,它将执行else case,以避免在您找到正确的项时中断循环您正在检查数据库的整个列表
var,当它与没有正确凭据的项匹配时,它将执行else case,以避免在找到正确的项时中断循环
var result = database.some(item => {
return item.userName === user && item.password === pass
})
console.log(result)
使用
Array.prototype.some
方法来确定您的user/pass是否至少匹配一次
var result = database.some(item => {
return item.userName === user && item.password === pass
})
console.log(result)
因为您为数组中的每个对象运行if语句,所以当其中一个对象与if-else块不匹配时,将触发if-else块因为您为数组中的每个对象运行if语句,所以当其中一个对象与if-else块不匹配时,使用
break
仍将记录“error”在找到正确对象之前,对所有对象执行此操作。在找到正确对象之前,使用break
仍将记录所有对象的“错误”。