Javascript 数组中对象的forEach循环

Javascript 数组中对象的forEach循环,javascript,arrays,loops,object,foreach,Javascript,Arrays,Loops,Object,Foreach,我有一些问题,我想显示的新闻是用户和密码在数据库中的权利。但是当我运行这个程序时,它总是显示你的用户名和密码错误。我该怎么办 感谢您所需的帮助,并返回此方法的结果 函数isvaliduser,通过{ return database.somefunctionitem,索引{ return item.username==user&&item.password==pass; }; } 函数签名,通过{ 如果是Validuser,请通过{ console.lognews; }否则{ 提醒您的用户名和密

我有一些问题,我想显示的新闻是用户和密码在数据库中的权利。但是当我运行这个程序时,它总是显示你的用户名和密码错误。我该怎么办

感谢您所需的帮助,并返回此方法的结果

函数isvaliduser,通过{ return database.somefunctionitem,索引{ return item.username==user&&item.password==pass; }; } 函数签名,通过{ 如果是Validuser,请通过{ console.lognews; }否则{ 提醒您的用户名和密码错误; } } var数据库=[{username:'mutho',password:'muth'},{username:'pica',password:'1234'},{username:'rudy',password:'1235'}], 新闻=[{username:'sarah',timeline:'Hellow'},{username:'ingrid',timeline:'hello world'},{username:'rudy',timeline:'secret'}], userprompt=prompt输入您的用户名:, passprompt=提示输入您的密码:; 签名提示,密码提示 您需要并返回此方法的结果

函数isvaliduser,通过{ return database.somefunctionitem,索引{ return item.username==user&&item.password==pass; }; } 函数签名,通过{ 如果是Validuser,请通过{ console.lognews; }否则{ 提醒您的用户名和密码错误; } } var数据库=[{username:'mutho',password:'muth'},{username:'pica',password:'1234'},{username:'rudy',password:'1235'}], 新闻=[{username:'sarah',timeline:'Hellow'},{username:'ingrid',timeline:'hello world'},{username:'rudy',timeline:'secret'}], userprompt=prompt输入您的用户名:, passprompt=提示输入您的密码:;
签名提示,密码提示 也许你在找这样的东西:

函数findValidUsersuser,pass{ return database.filteritem=>item.username==user&&item.password==pass } 其中findValidUsers将返回数据库数组中具有相同用户名和密码的所有用户的数组

e、 g: findValidUser'mutho','muth'


将返回{username:'mutho',password:'muth'}

可能您正在查找类似的内容:

函数findValidUsersuser,pass{ return database.filteritem=>item.username==user&&item.password==pass } 其中findValidUsers将返回数据库数组中具有相同用户名和密码的所有用户的数组

e、 g: findValidUser'mutho','muth'


将返回{username:'mutho',password:'muth'}

foreach不返回任何值或break并提前返回

使用循环的标准。 范例

另外,现在的方法是,如果转换为for循环,它将只检查数组中的第一个对象

你需要这样的东西

database = [
  {
    username: 'mutho',
    password: 'muth',
  },
  {
    username: 'pica',
    password: '1234',
  },
  {
    username: 'rudy',
    password: '1235'
  }
];
news = [
  {
    username: 'sarah',
    timeline: 'Hellow',
  },
  {
    username: 'ingrid',
    timeline: 'hello world'
  },
  {
    username: 'rudy',
    timeline: 'secret',
  }
];

function isvalid(user, pass) {
  database.forEach(function (item, index) {
    if (item.username === user && item.password === pass) {
      return true;
    }
    return false;
  });
}

function signIn(user, pass) {
  if (isvalid(user, pass) === true) {
    console.log(news);
  }
  else {
    alert("Your Username and password wrong");
  }
}

var userprompt = prompt("Input your username : ");
var passprompt = prompt("Input your password : ");

signIn(userprompt, passprompt)

foreach不返回任何值或break和early返回

使用循环的标准。 范例

另外,现在的方法是,如果转换为for循环,它将只检查数组中的第一个对象

你需要这样的东西

database = [
  {
    username: 'mutho',
    password: 'muth',
  },
  {
    username: 'pica',
    password: '1234',
  },
  {
    username: 'rudy',
    password: '1235'
  }
];
news = [
  {
    username: 'sarah',
    timeline: 'Hellow',
  },
  {
    username: 'ingrid',
    timeline: 'hello world'
  },
  {
    username: 'rudy',
    timeline: 'secret',
  }
];

function isvalid(user, pass) {
  database.forEach(function (item, index) {
    if (item.username === user && item.password === pass) {
      return true;
    }
    return false;
  });
}

function signIn(user, pass) {
  if (isvalid(user, pass) === true) {
    console.log(news);
  }
  else {
    alert("Your Username and password wrong");
  }
}

var userprompt = prompt("Input your username : ");
var passprompt = prompt("Input your password : ");

signIn(userprompt, passprompt)
返回true不会中断循环,它只是结束回调。 请参见:。 或:。 它可能会帮助您了解问题所在。

返回true不会中断循环,它只是结束回调。 请参见:。 或:。
它可能会帮助您了解问题所在。

是的,我尝试使用forEach循环。但是谢谢你的帮助是的,我尝试使用forEach循环。但是谢谢你的帮助