2011-12-21 9 views

答えて

18

-1は、 "一致が見つからない" という意味します。

"false"の代わりに-1を返す理由は、文字列の先頭の針が位置0にあることです.Javascriptではfalseと同じです。 -1を返すと、実際には一致しないことがわかります。

+0

これは私が探していたものです。ありがとう。 –

8

は-1一致が見つからないことを意味します。 「良い」はその文にはありません。これはdocumentedbehaviourです。

indexOf()方法は、それが存在しない場合、所与の素子がアレイ状に見つかった、または-1可能な最初のインデックスを返します。

7

配列は0に基づいているため、0は最初の文字からの開始が一致したことを意味します。 1、2番目の文字などです。これは、0以上が本当の、あるいは "見つかった"応答であることを意味します。すべてを整数カテゴリに保つために、-1は一致するものが見つからないことを示します。

1

一致が見つからない場合にindexOfが-1を返すもう1つの理由があります。コードの下に考えてみましょう:

は〜が(-1)= 0がそうのindexOfを返すという-1事実があれば書くことが容易になり
if (~str.indexOf(pattern)){ 
    console.log('found') 
}else{ 
    console.log('not found') 
} 

ので...他に使用して〜。

関連する問題