Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中检查字符串是否相等_Javascript - Fatal编程技术网

如何在JavaScript中检查字符串是否相等

如何在JavaScript中检查字符串是否相等,javascript,Javascript,我几乎不熟悉JavaScript 我想制作一个随机名称生成器,从一个字符串数组中我得到5个随机名称。这是可行的,但我想添加许多名称,并检查是否没有重复的名称。正因为如此,我想创建一个文本字段,在这里我可以写名字,按下按钮后,for循环将处理数组索引,并使用if语句。T 他的代码是html代码: 这就是JavaScript let namesMale = ["Akemi", "Akechi", "Akihiko", "Akihiro", "Akira", "Amida", "Ar

我几乎不熟悉JavaScript

我想制作一个随机名称生成器,从一个字符串数组中我得到5个随机名称。这是可行的,但我想添加许多名称,并检查是否没有重复的名称。正因为如此,我想创建一个文本字段,在这里我可以写名字,按下按钮后,for循环将处理数组索引,并使用if语句。T

他的代码是html代码:



这就是JavaScript

let namesMale = ["Akemi", "Akechi", "Akihiko", "Akihiro", "Akira", "Amida", "Arata", "Daisuke", "Eichi", "Eiko", "Hajime", "Haru", "Haruo", "Hikaru", "Hiroshi", "Hiroyuki", "Hisoka", "Hoshi", "Isao", "Izanagi", "Kaori", "Kazuhiko", "Kenji", "Kentaro", "Kichi", "Kioshi", "Kitaro", "Kiyo", "Kiyoshi", "Koshiro", "Masahiro", "Masayuki", "Minori", "Mitsuo", "Namiyo", "Naoko", "Nikko", "Ozuru", "Raidon", "Renjiro", "Ryo", "Ryuji", "Sadao", "Satoshi", "Seiichi", "Shinichi", "Shuji", "Taiyo", "Takahiro", "Takeo", "Takiyo", "Taku", "Tama", "Tatsuo", "Tenchi", "Tetsuya", "Tomo", "Torio", "Toshi", "Toyo", "Tsutomu", "Yasashiku", "Yoshi", "Yoshikazu", "Yoshimitsu", "Yoshinori", "Yoshito", "Yoshiyuki", "Yuji", "Yuki", "Yukio", "Yutaka", "Yuudai", "Zinan"];

    document.getElementById("button").onclick = function() {
        let randomOne = Math.floor(Math.random() * namesMale.length);
        let randomTwo = Math.floor(Math.random() * namesMale.length);
        if(randomTwo == randomOne){
            let randomTwo = Math.floor(Math.random() * namesMale.length);
        }
        let randomThree = Math.floor(Math.random() * namesMale.length);
        if(randomThree == randomOne ||randomThree == randomTwo){
            let randomThree = Math.floor(Math.random() * namesMale.length);
        }
        let randomFour = Math.floor(Math.random() * namesMale.length);
        if(randomFour == randomOne || randomFour == randomTwo || randomFour == randomThree){
            let randomFour = Math.floor(Math.random() * namesMale.length);
        }
        let randomFive = Math.floor(Math.random() * namesMale.length);
        if(randomFive == randomOne || randomFive == randomTwo || randomFive == randomThree || randomFive == randomFour){
            let randomFive = Math.floor(Math.random() * namesMale.length);
        }

        document.getElementById("first").innerHTML = namesMale[randomOne];
        document.getElementById("second").innerHTML = namesMale[randomTwo];
        document.getElementById("third").innerHTML = namesMale[randomThree];
        document.getElementById("fourth").innerHTML = namesMale[randomFour];
        document.getElementById("fifth").innerHTML = namesMale[randomFive];
    }



    document.getElementById("checkbutton").onclick = function() {
        let input = document.getElementById("input").value;
        for(let i = 0; i <= namesMale.length; i++){
            console.log(namesMale[i]);
            if(input.equals(namesMale[i])){
                document.getElementById("output").innerHTML = "Existiert";
            }
            else{
                document.getElementById("output").innerHTML = "Existiert nicht";
            }
        }
    }


//  ####### Event Handler ####### 

    let pressTab = document.getElementById("button");
    pressTab.addEventListener("keyup", function(event){
        if(event.keyCode === 13){
            event.preventDefault();
            document.getElementById("set").click();
        }
    });

let namesMale=[“Akemi”、“Akechi”、“Akihiko”、“Akira”、“Amida”、“Arata”、“Daisuke”、“Eichi”、“Eiko”、“Hajime”、“Haru”、“Haruo”、“Haruo”、“Hikaru”、“Hiroshi”、“Hiroshi”、“Hisoka”、“Hoshi”、“Isao”、“Izanagi”、“Kaori”、“Kazuhiko”、“Kenji”、“Kentaro”、“Kichi”、“Kioshi”、“Kitaro”、“Kiyo”、“Kiyo”、“Kiyo”、“Kiyo”、“Kiyo”、“Koshiro”、“Masahiro”、“Masahiro”、“Masayuki”、“Minori”“三雄”、“纳米约”、“直子”、“日子”、“小津”、“热登”、“仁次郎”、“良子”、“良次”、“佐藤”、“圣一”、“新一”、“舒吉”、“太阳穴”、“高广”、“武夫”、“Takiyo”、“Taku”、“Tama”、“Tatsuo”、“Tenchi”、“Tetsuya”、“Tomo”、“Torio”、“Toshi”、“Toyo”、“Tsutomu”、“Yaashiku”、“Yoshi”、“Yoshikazu”、“Yoshimitsu”、“Yoshinori”、“Yoshito”,“Yoshiyuki”、“Yuji”、“Yuki”、“Yukio”、“Yutaka”、“Yuudai”、“Zinan”];
document.getElementById(“按钮”).onclick=function(){
让randomOne=Math.floor(Math.random()*namesMale.length);
让randomTwo=Math.floor(Math.random()*namesMale.length);
if(randomTwo==randomOne){
让randomTwo=Math.floor(Math.random()*namesMale.length);
}
让randomThree=Math.floor(Math.random()*namesMale.length);
if(randomtree==randomOne | | randomtree==randomtoo){
让randomThree=Math.floor(Math.random()*namesMale.length);
}
让randomFour=Math.floor(Math.random()*namesMale.length);
如果(randomFour==randomOne | | randomFour==randomTwo | | randomFour==randomThree){
让randomFour=Math.floor(Math.random()*namesMale.length);
}
让randomFive=Math.floor(Math.random()*namesMale.length);
如果(randomFive==randomOne | | randomFive==randomTwo | | randomFive==randomThree | | randomFive==randomFour){
让randomFive=Math.floor(Math.random()*namesMale.length);
}
document.getElementById(“first”).innerHTML=namesMale[randomOne];
document.getElementById(“second”).innerHTML=namesMale[randomTwo];
document.getElementById(“third”).innerHTML=namesMale[randomThree];
document.getElementById(“第四”).innerHTML=namesMale[randomFour];
document.getElementById(“第五”).innerHTML=namesMale[randomFive];
}
document.getElementById(“checkbutton”).onclick=function(){
让输入=document.getElementById(“输入”).value;

for(设i=0;iString没有这样的方法
equals
。您也没有对其原型进行定义。您可以这样检查:

if(input == namesMale[i]){
或者


根据问题中提到的错误,您将面临以下错误

if(input.equals(namesMale[i])){  //Error is here, javascript does not contain .equal method
                document.getElementById("output").innerHTML = "Existiert";
            }
            else{
                document.getElementById("output").innerHTML = "Existiert nicht";
            }
你可以试试看

if(input === namesMale[i]) //=== triple equal to check type and value 


不幸的是,JavaScript中没有用于strgins比较的
equals
函数。因此,除此之外,您可以使用
==
运算符检查这两个字符串是否相等。总之,您的函数必须如下所示:

document.getElementById("checkbutton").onclick = function() {
    let input = document.getElementById("input").value;
    for(let i = 0; i <= namesMale.length; i++){
        console.log(namesMale[i]);
        if(input === namesMale[i]){
            document.getElementById("output").innerHTML = "Existiert";
        }
        else{
            document.getElementById("output").innerHTML = "Existiert nicht";
        }
    }
}
document.getElementById(“checkbutton”).onclick=function(){
让输入=document.getElementById(“输入”).value;

对于(设i=0;i您可以使用==来检查等式

让namesMale=[“Akemi”、“Akechi”、“Akihiko”、“Akira”、“Amida”、“Arata”、“Daisuke”、“Eichi”、“Eiko”、“Hajime”、“Haru”、“Haruo”、“Haruo”、“Hikaru”、“Hiroshi”、“Hiroshi”、“Hisoka”、“Hoshi”、“Isao”、“Izanagi”、“Kaori”、“Kazuhiko”、“Kenji”、“Kentaro”、“Kichi”、“Kioshi”、“Kitaro”、“Kiyo”、“Kiyo”、“Kiyo”、“Kiyo”、“Kiyo”、“Koshiro”、“Masahiro”、“Masahiro”、“Masayuki”、“Minori”“,”三雄“,”南宫“,”直子“,”日子“,”小津“,”热登“,”仁次郎“,”良“,”龙治“,”佐藤“,”圣一“,”新一“,”舒治“,”太洋“,”高广“,”武夫“,”Taku“,”Tama“,”Tatsuo“,”天池“,”Tetsuya“,”Tomo“,”Torio“,”Toshi“,”Toyo“,”Tsutomu“,”靖国“,”靖国“,”吉隆坡“,”吉崎骏“,”吉崎步“,”,“Yoshiyuki”、“Yuji”、“Yuki”、“Yukio”、“Yutaka”、“Yuudai”、“Zinan”];
函数findName(val){

对于(让i=0;我洗牌数组,从中取前n个名称。比你现在做的要简单和明智得多。要添加到@deceze的精彩答案中,以下是洗牌数组的方法:你检查数组中的所有名称,并为每个名称设置输出为“existert”或“existert nicht”。因此,除非它确实是您要检查的姓氏,否则您将在下一次循环迭代中覆盖任何“Existert”。但是,您循环的长度比数组的长度多一个,因此最后一项将永远不匹配,并且您将始终以“Existert nicht”结束。您的
let
内部
if
块也应该会遇到问题;在
if
块外部无法访问这些变量。啊,对不起,我忘了说,“===”我会得到每个名字”不存在“@Traijan Yeah,你的数组中不存在它。@bhojendraurauniyar我的意思是,当我从textfield中的数组中复制名称以进行检查时,我从if语句“Existiert nicht”->得到的输出不存在“Yeah==是相等运算符,而==也检查类型。对不起,我忘了用“==”和”==我从if语句“Existiert nicht”->“don't exist”中获得输出,即使名称在数组中(已复制),我也不知道为什么
 if(input == namesMale[i]) //== double equal for testing loose equality
document.getElementById("checkbutton").onclick = function() {
    let input = document.getElementById("input").value;
    for(let i = 0; i <= namesMale.length; i++){
        console.log(namesMale[i]);
        if(input === namesMale[i]){
            document.getElementById("output").innerHTML = "Existiert";
        }
        else{
            document.getElementById("output").innerHTML = "Existiert nicht";
        }
    }
}