2017-02-09 20 views
1

私はinArrayを使用しているので、配列に "4"が存在するかどうかを確認しようとしています。 「4」は間に合っていても、「そこにはない」と言い続ける。ここでの塊だ:jQuery inArrayが間違った結果を返す

 var sp_20 = ["4"]; 

     function checkPrice(){ 

      if ($.inArray("4", "sp_20") > -1) { 
       alert("It's there"); 
      } 
      else { 
       alert("It's not there"); 
      } 

     } 

私はここで、サイト上の別の答えからコードを借りたが、ここで働いていないようです!

+0

イェーイdownvoteすでに、何らかの理由? – ERushforth

+1

sp_20の引用符を削除します。 – Sunshine

答えて

3

誤った方法で配列objを指定しました。 次試してみてください。

var sp_20 = ["4"]; 

     function checkPrice(){ 

      if ($.inArray("4", sp_20) > -1) { 
       alert("It's there"); 
      } 
      else { 
       alert("It's not there"); 
      } 

     } 

それとも、単に変数で

if(sp_20.indexOf("4") > -1) { 
    alert("It's there"); 
} else { 
    alert("It's not there"); 
} 

のようなのindexOf()関数を使用することができます。

var y = "5"; 
var sp_20 = ["1", y, "2"]; 

if (sp_20.indexOf(y) > -1) { 
     alert("It's there"); 
} else { 
     alert("It's NOT there"); 
} 
+0

それは、おかげで、ありがとう! '4'を変数に置き換えたいのであれば、それを書く特別な方法はありますか?私は 'y'として保存された変数を持っているが、それは(indexOfメソッドを使用して)それを壊すようだ – ERushforth

+1

@ ERushforth私はどのように配列と関数の内部で変数を使用する方法を示すために投稿を更新しました。 Btw、なぜあなたは受け入れられたように私の答えをチェックしないのですか? :-) – Codemole

+0

また、ありがとう!私はそれを受け入れる前に10分待たなければならなかった、それについて残念。あなたがおそらく私を助けることができるなら、私はsp_20の代わりに変数を使用することについて質問します。 'sp'の代わりに、x変数が最初の2文字(この例ではSP!)を構成するように、(x + _20)のようなものを使用したいと思っていましたか?私はそれを壊すことなく_20にxを接着できない! – ERushforth

関連する問題