indexOf
オブジェクト内の各配列を検索するために使用します。
for (elem in a)
{
if (a[elem].indexOf("----") != -1)
alert('---- found at ' + a[elem]);
}
EDIT
このエラーTypeError: a[elem].indexOf is not a function
の場合: ブラウザーは空の要素を非文字列型と見なす可能性があります。非文字列型には indexOf メソッドがありません。
このコードは、配列要素の長さをチェックします (indexOf
関数を解釈する前に要素が空の場合)。
for (elem in a)
{
if (a[elem].length > 0 && a[elem].indexOf("----") != -1)
alert('---- found at ' + a[elem]);
}
IE < 9 をサポートする場合は、この投稿を参照して、条件付きで indexOf 定義を Array オブジェクトに追加してください。この投稿では、Jquery の代替についても言及しています。
上記の SO 投稿には、この Mozilla バージョンのindexOf
機能がリストされています。
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}