0

単語が他の単語と一致するかどうかを確認する単純な if ステートメントを作成しようとしています。以下のような複数の単語ではなく、1 つの単語だけを使用する場合にこれを機能させることができます。私が使用するときif (||)。「contains」を使用したいのですが、var でこれを使用する方法がわかりません

また、 ("Woven || Main") は var であるため、この部分をまとめる必要があります。

var option="織物 || メイン";

これは動作しません:

var titleIs = "Knit";

if (titleIs.match("Woven || Main")) {

    alert("Main")

}

これは機能します:

var titleIs = "Knit";

if (titleIs.match("Woven")) {

    alert("Main")

}
4

4 に答える 4

0
var words = ['Woven', 'Main'];
var regex = new RegExp('^(' + words.join('|') + ')$');

if (regex.test(titleIs)) {...}
于 2013-04-04T07:47:16.757 に答える
0

単語の配列を使用して、配列にArray.prototype.indexOfタイトルが含まれているかどうかを確認できます。

var words = ["Woven", "Main"];
var titleIs = "Knit";

function contains(arr, str) {
    return !!~arr.indexOf(str)
}
console.log(contains(words, titleIs)); //false

ノート:

Array.prototype.reduce は ECMAScript 5 の追加です。そのため、標準の他の実装には存在しない場合があります。

古いブラウザーをサポートするには、MDN が提供するshimを使用できます。

JSBinの例を次に示します。

于 2013-04-04T07:59:46.143 に答える