文字列配列と1つの文字列があります。この文字列を配列の値に対してテストし、結果に条件を適用したいと思います。配列に文字列が含まれている場合は「A」、そうでない場合は「B」を実行します。
どうやってやるの?
文字列配列と1つの文字列があります。この文字列を配列の値に対してテストし、結果に条件を適用したいと思います。配列に文字列が含まれている場合は「A」、そうでない場合は「B」を実行します。
どうやってやるの?
メソッドを使用して、次のようなindexOf
メソッドで Array クラスを「拡張」できます。contains
Array.prototype.contains = function(element){
return this.indexOf(element) > -1;
};
次の結果が得られます。
["A", "B", "C"].contains("A")
等しいtrue
["A", "B", "C"].contains("D")
等しいfalse
var stringArray = ["String1", "String2", "String3"];
return (stringArray.indexOf(searchStr) > -1)
この関数プロトタイプを作成します。
Array.prototype.contains = function ( needle ) {
for (var i in this) { // Loop through every item in array
if (this[i] == needle) return true; // return true if current item == needle
}
return false;
}
そして、次のコードを使用して配列 x を検索できます
if (x.contains('searchedString')) {
// do a
}
else
{
// do b
}
これはあなたのためにそれを行います:
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle)
return true;
}
return false;
}
Stack Overflow question JavaScript equals of PHP's in_array() で見つけました。