javascript - forEach 循环数组中的对象
问题描述
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)
我有一些问题,我想显示消息是用户和密码在数据库中是正确的。但是当我运行这个程序时,它总是显示“您的用户名和密码错误”。我应该怎么办?
谢谢你的帮助
解决方案
您需要Array#some
并返回此方法的结果。
function isvalid(user, pass) {
return database.some(function(item, index) {
return item.username === user && item.password === pass;
});
}
function signIn(user, pass) {
if (isvalid(user, pass)) {
console.log(news);
} else {
alert("Your Username and password wrong");
}
}
var 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' }],
userprompt = prompt("Input your username:"),
passprompt = prompt("Input your password:");
signIn(userprompt, passprompt);
推荐阅读
- autohotkey - 如何使用按键打开/关闭 AHK 脚本?
- next.js - 如何使用 next.js 和 next-i18next 本地化路线?
- html - 如何在页面内居中菜单而不是在左侧
- azure - 如何启用资产文件夹的权限
- python - 将 MagicMock 对象转换为我可以在测试中使用的对象
- python - 将导入与具有不同结构的模块的多个版本一起使用
- video - 无法从包文件中提取视频
- android - 带有 AndroidX 首选项的 Android Studio 无法预览窗口
- unity3d - SpatialAnchors 在游戏对象上找不到 AR 锚点
- alexa-skills-kit - alexa sdk:无法获取持久属性