如何在Javascript数组中查找单词(字符串)?
我需要检查数组中是否有单词 这是我的代码,请帮忙如何在Javascript数组中查找单词(字符串)?,javascript,arrays,Javascript,Arrays,我需要检查数组中是否有单词 这是我的代码,请帮忙 var name=['heine','hans']; var密码=['12343','1234']; 函数登录(){ var-pos; 如果(名称包括('hans')){ console.log(“enthält”); pos=名称indexOf('hans'); 控制台日志(pos) 如果(密码[pos]=“1234”){ console.log(“angemeldet”) } } }您可能会发现这很方便。它会将索引传递到回调中,您可以使用回
var name=['heine','hans'];
var密码=['12343','1234'];
函数登录(){
var-pos;
如果(名称包括('hans')){
console.log(“enthält”);
pos=名称indexOf('hans');
控制台日志(pos)
如果(密码[pos]=“1234”){
console.log(“angemeldet”)
}
}
}
您可能会发现这很方便。它会将索引传递到回调中,您可以使用回调从密码
数组中查找相应的值:
功能测试(名称,pw){
让名字=[“海涅”,“汉斯”];
让密码=[“12343”,“1234”];
//是否有`某些`名称/pw组合匹配?
返回名称。一些((n,index)=>name==n&&pw==passwords[index])
}
log(test(“hans”,“1234”)//true
log(test(“hans”,“12345”)//false
log(test(“hans”,“12343”)//false
log(test(“heine”,“12343”)//true
log(测试(“标记”,“12343”)//false
您可以使用这个。我不确定这是否是你想要的
let names = ["heine", "hans"];
let password = ["12343", "1234"];
let i, temp;
function log(login, pass) {
if((i = names.indexOf(login)) !== -1){
if(password[i] === pass)
console.log("Logged!");
}
}
log("hans", "1234")
在您的情况下,您还可以尝试以下方法:
const用户名=['heine','hans'];
常量密码=['12343','1234'];
功能登录(用户,通过)
{
让userIdx=usernames.findIndex(x=>x==user);
//在实际的应用程序中,不要给出任何提示
//错误,只需在两种情况下返回“无效用户名或密码”。
if(userIdx<0)
返回“无效用户名!”;
if(pass!==密码[userIdx])
返回“无效密码!”;
返回“登录确定!”
}
日志(登录名(“heine”,“12343”);
日志(登录名(“hans”、“lala”)代码>这里的问题是name是window.name,它是一个字符串
var name=['heine','hans'];
console.log(window.name,typeof window.name)
变量xname=['heine','hans'];
console.log(window.xname,typeof window.xname)
关于前端身份验证的糟糕想法,但从心理训练的角度来看,您询问的是indexOf()
password[i]==1234
将始终是错误的,由于密码是字符串,并且使用了==
,它返回6,因为它显然认为名称
是字符串。这很奇怪,我认为它需要一个for循环,我现在只是添加了一个test itcode
var name=[“heine”,“hans”];var密码=[“12343”,“1234”];变量i,温度;函数login(login,pass){console.log(“start”)for(temp=0;temp