繁体   English   中英

如何在Javascript数组中查找单词(字符串)?

[英]How to find a word(string) in Javascript array?

我需要检查数组中是否包含单词

这是我的代码,请帮忙

  var name = ['heine', 'hans']; var password = ['12343', '1234']; function login() { var pos; if(name.includes('hans')) { console.log("enthält"); pos = name.indexOf('hans'); console.log(pos) if(password[pos] === '1234') { console.log("angemeldet") } } } 

consoleout = 6,但为什么必须为1

如果hans单词在数组中,那么我需要从单词在数组中的位置

您可能会找到some()方便的方法。 它将把索引传递到回调中,您可以使用该回调从passwords数组中找到相应的值:

 function test(name, pw) { let names = ["heine", "hans"]; let passwords = ["12343", "1234"]; // is there `some` name/pw combinations that matches? return names.some((n, index) => name == n && pw == passwords[index]) } console.log(test("hans", '1234')) // true console.log(test("hans", '12345')) // false console.log(test("hans", '12343')) // false console.log(test("heine", '12343')) // true console.log(test("mark", '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")

在您的情况下,您也可以尝试使用findIndex这样的操作

 const usernames = ['heine', 'hans']; const passwords = ['12343', '1234']; function login(user, pass) { let userIdx = usernames.findIndex(x => x === user); // On a real application do not give any tip about which is // wrong, just return "invalid username or password" on both cases. if (userIdx < 0) return "Invalid username!"; if (pass !== passwords[userIdx]) return "Invalid password!"; return "Login OK!" } console.log(login("heine", "12343")); console.log(login("hans", "lala")); 

这里的问题是名称是window.name,它是一个字符串。

 var name = ['heine', 'hans']; console.log(window.name, typeof window.name) var xname = ['heine', 'hans']; console.log(window.xname, typeof window.xname) 

如果您位于全局范围内,请将变量更改为另一个不保留的单词。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM