Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript If-Else条件_Javascript_If Statement_Conditional Statements - Fatal编程技术网

JavaScript If-Else条件

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

我有一个JS if/else问题。如果输入正确的用户名和密码,else语句也会执行,我能知道原因吗

如果用户名和密码正确,则只执行if语句。为什么两人都被处决了? 代码如下:

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
仍将记录所有对象的“错误”。