如何在 JavaScript 中实现哈希表

How to implement hashtable in JavaScripts

本文关键字:实现 哈希表 JavaScript      更新时间:2023-09-26

我一直在做一项作业,我被要求通过实现哈希图来使用 HTML 和 javascript 创建一个登录页面,我已经通过使用变量实现了它。 cuser 和 cpass 保存正确的用户名和密码,"T1"和"T2"是用户键入用户名和密码的文本字段。

var cuser="admin";
var cpass="pass";    
var user=document.getElementById("t1").value;    
var pass=document.getElementById("t2").value;

并且我使用了 if 条件来验证用户名和密码

     if(user == cuser && pass == cpass)
    {
        alert("You are logged in as : " +cuser);
    }

必须使用哈希图实现这一点,有人可以帮我解决这个问题,我如何创建一个哈希表并使用密钥和值验证用户和密码。

以这种方式尝试,

var credentials = {cuser:"admin",cpass:"pass"};
var user=document.getElementById("t1").value;    
var pass=document.getElementById("t2").value;
if(user == credentials['cuser'] && pass == credentials['cpass']) {
        alert("You are logged in as : " +cuser);
}

或者,您可以使用点表示法代替括号表示法,例如credentials.cuser

我会这样做:

var users= {
      "someone1@example.com": {pass:"one"}, 
      "someone2@example.com": {pass:"two"}
};
//You can store more user related information like firstname, lastname etc. in the above JSON and accessing the data will be very easy for particular user e.g. users["someone1@example.com"].pass
var user=document.getElementById("t1").value;    
var pass=document.getElementById("t2").value;
if(users[user] && pass == users[user].pass) {
    alert("You are logged in as : " + user);
}