1

.indexOf検索する配列で関数を使用する可能性はありますか? このような:

var d = "Hello";
var s = new Array ("Heart", "David", "Foo", "Hello");
if( d.indexOf(s) != -1) {
  alert("Found Hello");
}

上記のコードを使用すると、何も警告されません。コンソールを確認しましたが、エラーはありませんでした。

.indexOf関数は文字列の配列ではなく文字列のみを対象としていることをどこかで読みました。

indexOfJavascriptに代替手段はあり.indexOfますか、それとも私が欲しいものをすでに提供していますか?

フィドル

4

3 に答える 3

3

s.indexOf(d)あなたの場合、検索したいアイテムではなく、検索したいオブジェクトでメソッドを呼び出す必要があります

于 2013-01-17T12:55:27.130 に答える
1

文字列配列indexOfの両方の関数があります。文字列に適用し、配列の文字列化が含まれているかどうかを確認しました-エラーは発生しませんが、機能しません。文字列が配列の項目であるかどうかを確認するには、逆の方法で行う必要があります。

s.indexOf(d) != -1
于 2013-01-17T12:58:08.480 に答える
0

この問題に対処する別の方法は、JavaScript オブジェクトのハッシュ マップ プロパティを使用することです。

var d = "Hello";
var s = {"Heart": 1, "David": 1, "Foo": 1, "Hello": 1};
if (s[d]) {
    alert("Found Hello");
}
于 2013-01-17T12:58:35.113 に答える