2017-03-05 1 views
-3

最初の文字列が "合格/不合格"で、IndexOfに渡される文字列が "数値仕様"であるため、falseを返すと期待しています。2つの一意の文字列を比較すると、indexOfの結果はtrueとなる

この機能の仕組みを理解していませんか?私は文字列Aが文字列Bの中に含まれているかどうかを確認すると思った?

unexpected behavior

+1

indexOf()メソッドは、指定された値が文字列に最初に現れる位置を返します。検索する値が決して出現しない場合、このメソッドは-1を返します。 – Smit

+0

これはあなたが記述したものとまったく同じですが、-1の戻り値をチェックするのではなく、真実です。また、コードはテキストです。それをそのまま扱う。画像を検索、コピーすることはできません。 –

+1

ジャック-1は正真正銘ですが、実際には0以外の値は真偽(正または負)、0は偽です:) – niceman

答えて

1

あなたはおそらく、一致指数の代わりにアップ/ダウンブール値を返します"".containsを、使用することを意味jsの-1は「真実」なので、indexOf()の使用方法はありません条件付きで動作します。

+1

私はあなたが' String.prototype.includes() 'を意味すると思います。 – Gerrit0

+0

@ Gerrit0:愚かな汚染されたstackoverflow "rightofthedot" "グローバル"。 (これはコンソール上で走っていました)私は常にこれらのメソッド名を組み合わせています...固定されています。他のウェブメソッドとは違う名前を付けることを愚かな人たちに任せ、覚えていないと私をばかにする。ありがとう;) – dandavis

+0

ありがとうございます。 –

1

のindexOf()メソッドはstring.Thisメソッドで指定された値の最初の出現位置を返し-1検索する値が発生したことがない場合。

var str = "Hello world, welcome to the universe."; 
var n = str.indexOf("welcome"); //output 13 

Similiaryly:たとえば

"abc".includes("b"); // == true; 
"abc".includes("x"); // == false; 

var str = "Hello world"; 
    var n = str.indexOf("welcome"); //output -1 
+1

この回答に欠けている部分は-1です。真理値です。 – niceman

関連する問題