javascript - 检查对象数组中的值匹配
问题描述
我正在尝试使用电子邮件和密码制作一个非常简单的测试登录功能。我创建了 2 个对象并将它们放在一个数组中。
let adminLoginObject = {
email : "admin",
password : "1234"
};
let userLoginObject = {
email : "user",
password : "1234"
};
let loginArray = new Array(
adminLoginObject,
userLoginObject
);
然后我试图查看表单中的输入是否与对象的值匹配。
我尝试了以下方法:
var emailResult = loginArray.filter(obj => {
return obj.email === email;
});
var emailR = loginArray.some(x=> x.password === password && x.email == email);
但似乎无论如何,它总是返回 false 或 undefined。
我得到了我的输入值。
const loginForm = document.getElementById('login-form');
const inputs = loginForm.getElementsByTagName("input");
const password = inputs[1].value;
const email = inputs[0].value;
我究竟做错了什么?
解决方案
在我的 HTML 表单中,首先是电子邮件,然后是密码。在我的 javascript 中,我先得到密码,然后得到电子邮件。因此,我的过滤器永远不会正确。因此,切换它们,使一切正常。
推荐阅读
- c++ - C++ 翻译单元
- javascript - 如何解析格式化的日期文本以便在 javascript 中有 Date 对象
- create-react-app - 使用 create-react-app 2.0 将 scss 加载到字符串变量中而不弹出
- python-3.x - 为什么 create_all 函数不创建我的表?
- ruby-on-rails - 我安装了 Ruby on Rails,但安装 SQLite3 时遇到问题。视窗 10
- algorithm - 查找所有此类不同元组的计数, (i, j, k) 其中 (i*j)%k == 0
- javascript - 在 three.js 中加载的对象 - 位置错误
- windows - 用于 Windows 的 GraalVM
- r - 将一个 Granges 对象的多个元数据列的分数聚合到另一个上
- php - Laravel 5.8 Posting Likes with AJAX call给了我内部服务器错误500