JavaScript IF(loginsAccess)DO(…)

JavaScript IF(loginsAccess)DO(…),javascript,if-statement,variables,conditional-statements,Javascript,If Statement,Variables,Conditional Statements,这个标题可能有误导性,但是,我不知道如何准确地表达它 我试图实现的是对所提供列表中正确登录详细信息的响应,并在一组凭据正确时停止(请参阅代码中注释掉的部分) 我的问题是,我不知道决定成功登录的变量是什么,所以我的问题是:如何找到该变量 在本例中,当输入正确的凭证时,它将在顶部的绿色区域中继一个标志(一串字符)。运行此代码时,将显示绿色框,但不显示任何标志。我的理论是,在输入正确的凭证后,代码会继续运行,这会弄乱标志的显示。注意:只有一组成功登录凭据 var usrnmPswd=[ [“Carlo

这个标题可能有误导性,但是,我不知道如何准确地表达它

我试图实现的是对所提供列表中正确登录详细信息的响应,并在一组凭据正确时停止(请参阅代码中注释掉的部分)

我的问题是,我不知道决定成功登录的变量是什么,所以我的问题是:如何找到该变量

在本例中,当输入正确的凭证时,它将在顶部的绿色区域中继一个标志(一串字符)。运行此代码时,将显示绿色框,但不显示任何标志。我的理论是,在输入正确的凭证后,代码会继续运行,这会弄乱标志的显示。注意:只有一组成功登录凭据

var usrnmPswd=[
[“CarlottaCarrigan”、“HULUGOLFPARK”],
[“霍勒斯·海德曼”,“耶尔普维萨99”],
[“Delfina_Detwiller”,“12345”],
[“AhmedAlper”,“PASS_word77”],
[“Annabell+Allred”,“Hatsargregat”],
[“aspen_van_Whistthorn”,“cyclepower1999”],
[“LaquandaLoy99”,“LLLLPASS”],
[“Liza_Van_Lundahl123”,“密码”],
[“KentKastner”,“某物在这里”],
[“Earnestinellman”,“EarnyPass”],
[“KimbraKyles”,“KimPassword”],
[“Lois Lokey”,“12345”],
["Louis@Larimore“,“密码”],
[“康奈尔=克劳辛”,“gogoSECURITY!”],
[“DuaneDendy99”,“99passwords”],
];

for(var i=0;i看起来您试图访问的索引超出了数组的大小。您可以看到,当
for(var i=0;i
,变量
i
是数组中当前项的索引。您的代码正在迭代下一项而不是当前项。在数组末尾,您可以看到您实际访问的是不存在的
usernPswd[usernmPswd.length+1]
。这会导致您遇到的类型错误

你应该这样做:

var usrnmPswd = [
["CarlottaCarrigan", "HULUGOLFPARK"], 
["Horace-Heideman", "yelpvisa99"],
["Delfina_Detwiler", "12345"],
["AhmedAlper", "PASS_word77"],
["Annabell+Allred", "hatsaregreat"],
["aspen_van_whistlethorn", "cyclepower1999"],
["LaquandaLoy99", "LLLLPASS"],
["Liza_Van_Lundahl123", "password"],
["KentKastner", "somethinghere"],
["EarnestineEllman", "EarnyPass"],
["KimbraKyles", "KimPassword"],
["Lois-Lokey", "12345"],
["Louis@Larimore", "passwords_4eva"],
["Cornell=Clausing", "gogoSECURITY!"],
["DuaneDendy99", "99passwords"],
];

function testAuth(){
   for (var i = 0; i < usrnmPswd.length; i++) {
       var loginSuccessful = attemptLogin(usrnmPswd[i][0], usrnmPswd[i][1]);
       if (document.getElementById("msg-incorrect").innerHTML.includes("Success!")){
         console.log(usrnmPswd[i]);  
         return usrnmPswd[i];
       };
   }
}

testAuth();
var usrnmPswd=[
[“CarlottaCarrigan”、“HULUGOLFPARK”],
[“霍勒斯·海德曼”,“耶尔普维萨99”],
[“Delfina_Detwiller”,“12345”],
[“AhmedAlper”,“PASS_word77”],
[“Annabell+Allred”,“Hatsargregat”],
[“aspen_van_Whistthorn”,“cyclepower1999”],
[“LaquandaLoy99”,“LLLLPASS”],
[“Liza_Van_Lundahl123”,“密码”],
[“KentKastner”,“某物在这里”],
[“Earnestinellman”,“EarnyPass”],
[“KimbraKyles”,“KimPassword”],
[“Lois Lokey”,“12345”],
["Louis@Larimore“,“密码”],
[“康奈尔=克劳辛”,“gogoSECURITY!”],
[“DuaneDendy99”,“99passwords”],
];
函数testAuth(){
对于(变量i=0;i

另外,您不需要使用
break
语句。在这里,只有当您需要跳过数组中的某个项目时,才使用break语句。在这种情况下,由于只有一个正确的凭证,因此在找到正确的凭证对后,您不需要继续运行代码。
return
完全停止
for
循环总之。

看起来您正在尝试访问超出数组大小的索引。您可以看到,当(var i=0;i
,变量
i
是数组中当前项的索引。您的代码正在迭代下一项而不是当前项。在数组末尾,您可以看到您实际访问的是不存在的
usernPswd[usernmPswd.length+1]
。这会导致您遇到的类型错误

var usrnmPswd = [
["CarlottaCarrigan", "HULUGOLFPARK"], 
["Horace-Heideman", "yelpvisa99"],
["Delfina_Detwiler", "12345"],
["AhmedAlper", "PASS_word77"],
["Annabell+Allred", "hatsaregreat"],
["aspen_van_whistlethorn", "cyclepower1999"],
["LaquandaLoy99", "LLLLPASS"],
["Liza_Van_Lundahl123", "password"],
["KentKastner", "somethinghere"],
["EarnestineEllman", "EarnyPass"],
["KimbraKyles", "KimPassword"],
["Lois-Lokey", "12345"],
["Louis@Larimore", "passwords_4eva"],
["Cornell=Clausing", "gogoSECURITY!"],
["DuaneDendy99", "99passwords"],
];

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function testAuth() {
   for (var i = 0; i < usrnmPswd.length; i++) {
      attemptLogin(usrnmPswd[i][0], usrnmPswd[i][1]);
      await sleep(100);
      if (document.getElementById("msg-correct").innerHTML.includes("Success!")) {
          console.log(document.getElementById("msg-correct").innerHTML);  
          return usrnmPswd[i,0];
      };
   };
};

testAuth();
你应该这样做:

var usrnmPswd = [
["CarlottaCarrigan", "HULUGOLFPARK"], 
["Horace-Heideman", "yelpvisa99"],
["Delfina_Detwiler", "12345"],
["AhmedAlper", "PASS_word77"],
["Annabell+Allred", "hatsaregreat"],
["aspen_van_whistlethorn", "cyclepower1999"],
["LaquandaLoy99", "LLLLPASS"],
["Liza_Van_Lundahl123", "password"],
["KentKastner", "somethinghere"],
["EarnestineEllman", "EarnyPass"],
["KimbraKyles", "KimPassword"],
["Lois-Lokey", "12345"],
["Louis@Larimore", "passwords_4eva"],
["Cornell=Clausing", "gogoSECURITY!"],
["DuaneDendy99", "99passwords"],
];

function testAuth(){
   for (var i = 0; i < usrnmPswd.length; i++) {
       var loginSuccessful = attemptLogin(usrnmPswd[i][0], usrnmPswd[i][1]);
       if (document.getElementById("msg-incorrect").innerHTML.includes("Success!")){
         console.log(usrnmPswd[i]);  
         return usrnmPswd[i];
       };
   }
}

testAuth();
var usrnmPswd=[
[“CarlottaCarrigan”、“HULUGOLFPARK”],
[“霍勒斯·海德曼”,“耶尔普维萨99”],
[“Delfina_Detwiller”,“12345”],
[“AhmedAlper”,“PASS_word77”],
[“Annabell+Allred”,“Hatsargregat”],
[“aspen_van_Whistthorn”,“cyclepower1999”],
[“LaquandaLoy99”,“LLLLPASS”],
[“Liza_Van_Lundahl123”,“密码”],
[“KentKastner”,“某物在这里”],
[“Earnestinellman”,“EarnyPass”],
[“KimbraKyles”,“KimPassword”],
[“Lois Lokey”,“12345”],
["Louis@Larimore“,“密码”],
[“康奈尔=克劳辛”,“gogoSECURITY!”],
[“DuaneDendy99”,“99passwords”],
];
函数testAuth(){
对于(变量i=0;i
另外,您不需要使用
break
语句。在这里,只有当您需要跳过数组中的某个项目时,才使用break语句。在这种情况下,由于只有一个正确的凭证,因此在找到正确的凭证对后,您不需要继续运行代码。
return
完全停止
for
循环总之。

var usrnmPswd=[
var usrnmPswd = [
["CarlottaCarrigan", "HULUGOLFPARK"], 
["Horace-Heideman", "yelpvisa99"],
["Delfina_Detwiler", "12345"],
["AhmedAlper", "PASS_word77"],
["Annabell+Allred", "hatsaregreat"],
["aspen_van_whistlethorn", "cyclepower1999"],
["LaquandaLoy99", "LLLLPASS"],
["Liza_Van_Lundahl123", "password"],
["KentKastner", "somethinghere"],
["EarnestineEllman", "EarnyPass"],
["KimbraKyles", "KimPassword"],
["Lois-Lokey", "12345"],
["Louis@Larimore", "passwords_4eva"],
["Cornell=Clausing", "gogoSECURITY!"],
["DuaneDendy99", "99passwords"],
];

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function testAuth() {
   for (var i = 0; i < usrnmPswd.length; i++) {
      attemptLogin(usrnmPswd[i][0], usrnmPswd[i][1]);
      await sleep(100);
      if (document.getElementById("msg-correct").innerHTML.includes("Success!")) {
          console.log(document.getElementById("msg-correct").innerHTML);  
          return usrnmPswd[i,0];
      };
   };
};

testAuth();
[“CarlottaCarrigan”、“HULUGOLFPARK”], [“霍勒斯·海德曼”,“耶尔普维萨99”], [“Delfina_Detwiller”,“12345”], [“AhmedAlper”,“PASS_word77”], [“Annabell+Allred”,“Hatsargregat”], [“aspen_van_Whistthorn”,“cyclepower1999”], [“LaquandaLoy99”,“LLLLPASS”], [“Liza_Van_Lundahl123”,“密码”], [“KentKastner”,“某物在这里”], [“Earnestinellman”,“EarnyPass”], [“KimbraKyles”,“KimPassword”], [“Lois Lokey”,“12345”], ["Louis@Larimore“,“密码”], [“康奈尔=克劳辛”,“gogoSECURITY!”], [“DuaneDendy99”,“99passwords”], ]; 功能睡眠(ms){ 返回新承诺(resolve=>setTimeout(resolve,ms)); } 异步函数testAuth(){ 对于(变量i=0;i