私はJavascriptを勉強し、リターン-1以下のindexOf理由を理解していない:なぜIndexOfは-1を返しますか?
var string = "The quick brown fox jumps over the lazy dog";
console.log (string.indexOf("good"));
私はJavascriptを勉強し、リターン-1以下のindexOf理由を理解していない:なぜIndexOfは-1を返しますか?
var string = "The quick brown fox jumps over the lazy dog";
console.log (string.indexOf("good"));
-1は、 "一致が見つからない" という意味します。
"false"の代わりに-1を返す理由は、文字列の先頭の針が位置0にあることです.Javascriptではfalseと同じです。 -1を返すと、実際には一致しないことがわかります。
は-1一致が見つからないことを意味します。 「良い」はその文にはありません。これはdocumentedbehaviourです。
indexOf()
方法は、それが存在しない場合、所与の素子がアレイ状に見つかった、または-1
可能な最初のインデックスを返します。
検索では、探しているものが見つかりません(「良い」は文中にありません)。-1はデフォルトの戻り値です。
配列は0に基づいているため、0は最初の文字からの開始が一致したことを意味します。 1、2番目の文字などです。これは、0以上が本当の、あるいは "見つかった"応答であることを意味します。すべてを整数カテゴリに保つために、-1は一致するものが見つからないことを示します。
一致が見つからない場合にindexOfが-1を返すもう1つの理由があります。コードの下に考えてみましょう:
は〜が(-1)= 0がそうのindexOfを返すという-1事実があれば書くことが容易になりif (~str.indexOf(pattern)){
console.log('found')
}else{
console.log('not found')
}
ので...他に使用して〜。
これは私が探していたものです。ありがとう。 –