2017-08-30 17 views
-3

私はさまざまな解決策を試しましたが、なぜ文字列と配列文字列を比較できないのか分かりません。ここで配列と文字列を比較できません

は、私が試したものです:

function checkWin(){ 
 
    let emptyword =["h,","e,","l,","l","o"] 
 
    let computerword= "hello"; 
 
    var a = emptyword.join(""); 
 
    let b = computerword.toString(); 
 
    let c = a.toString(); 
 

 
    console.log("computerword :" + b); 
 
    console.log("emptyword is:" + c); 
 

 
    if(b === c) { 
 
    console.log("someone has won"); 
 
    } else if (b != c) { 
 
    console.log("b is not same as c");      
 
    } 
 
} 
 
checkWin()

を私は条件として「誰かが勝った」ことを得ることができません両方のコンソールで値をプリントアウトするときが本当のことはありません同じ値、つまりhellohelloです。

ほとんどのサポートは大歓迎です。

+0

')(C = a.toStringを聞かせ;' aが既にのtoString()もあなたのコンソールラインが飛び出します – epascarello

+0

が必要とされていないので、文字列でありますあなたにエラーを表示してください.... – epascarello

+0

あなたに指摘してくれてありがとうと同意しました – Wazzie

答えて

3

これはタイプミスです。あなたの配列は "H"

  • "E、"
  • "L"
  • "L"
  • "O"
  • 要素

    • のリストであります最初の3つの要素は文字列の一部としてカンマを持ちます。それを修正するために

      let emptyword = ["h", "e", "l", "l", "o"] 
      

      function checkWin() { 
       
          let emptyword = ["h", "e", "l", "l", "o"] 
       
          let computerword = "hello"; 
       
          var a = emptyword.join(""); 
       
          let b = computerword; 
       
      
       
          console.log("computerword: " + b); 
       
          console.log("emptyword is: " + a); 
       
      
       
          if (a === b) { 
       
          console.log("someone has won"); 
       
          } else if (a !== b) { 
       
          console.log("b is not same as c"); 
       
          } 
       
      
       
      } 
       
      
       
      checkWin()

      変更

      let emptyword = ["h,", "e,", "l,", "l", "o"] 
      

      正しいコードは次のようになります。

    +0

    あなたの変更XXXの行が間違っています....あなたは間隔の問題であることをOPに伝えているようです。 – epascarello

    +0

    私は悪いですが、何らかの理由で手で入力しましたが、私の指が自分のためにあまりにもスマートだったと思います。 –

    +0

    var a = emptyword.join( ""); – Wazzie

    0

    "Array.match()"で問題を解決しましたが、基本的に一致するものが見つからなかった場合、一致するものが見つかると 'null'が返されます。ここ

    は私のこのパズルに私の解決策である

    function checkWin(){ 
    
          var a = emptyword.join(""); 
          var b = computerword; 
          var c= b.match(a); 
    
          // for debug purpose only  
         console.log("match word so far...:"+ c); 
    
        if(c != null) 
         { 
          console.log("match win"); 
          // clear the previous information 
          document.getElementById("correctguess").innerHTML =" "; 
    
          document.getElementById("correctguess").innerHTML ="You have Won well done"; 
    
         } 
         // for debug purpose only 
         console.log("emptyword is:"+ a); 
         console.log("computerword is: "+ b); 
    
    
    }// end CheckWin 
    
    関連する問題