2009-07-13 7 views
4

JavascriptまたはjQueryはPythonの "in"ステートメントとまったく同じですか?"in" Javascript/jQueryの文

"" "DEA" に - >に単語のためにグーグルで真

は絶望的である:(

答えて

29

それはin operatorを持っているが、キーのみをオブジェクトに制限されています

var object = { 
    a: "foo", 
    b: "bar" 
}; 

// print ab 
for (var key in object) { 
    print(key); 
} 

そして、あなたはまた、このようなチェックのためにそれを使用することがあります。

if ("a" in object) { 
    print("Object has a property named a"); 
} 
0123をあなたが indexOf()メソッドを使用する必要があるものの、文字列の場合

チェック:

if ("abc".indexOf("a") > -1) { 
    print("Exists"); 
} 
+1

をなぜこれがdownvotedでしたか?それは実際に質問に答える唯一の答えです。 – peirix

+0

質問は文字列内の文字列を見つけることです。 –

+0

Aha。私はPythonを知らないので、javascriptの 'in'ステートメントに関する質問を読んでいます。今や意味をなさない – peirix

2

正規表現が必要ですか?

あなたがその項目で、それが返されない場合は-1

"dea".indexOf("a");は2

を返します。私はthatsの何を考えるのindexOf

などを使用する必要があります

if ("dea".match(/a/)) 
{ 
    return true; 
} 
+5

それは、ピクチャーフックを置くためにスレッジハンマーを使用しています。 indexOfを使用します。 – Quentin

+3

"dea" .test(/ a)は、単にtrueまたはfalseを直接返すので、マッチオブジェクトを構築するオーバーヘッドを排除し、それがヌルであるかどうかを判断するより効率的です。離れて。 – NickFitz

+0

また、@DavidDorwardは言った;-) – NickFitz

1

indexOf機能により、あなたは、このような文字列のような拡張できます

String.prototype.in = function (exp) { 
    return exp.indexOf(this) >= 0; 
} 

if ("ab".in("abcde")) { //true 

} 
+0

そして、人々は私を泥棒を使って絵のフックを張っていると非難しました...:P –

+1

笑よく私はまだindexOfを使っていませんでしたregExp; P ...私はちょっと使いやすくしました –

+0

私はむしろString .prototype.contains(substring)メソッド。とにかく、素敵なアイデア。 –