ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は、indexof をサポートしていません。その解決方法_JavaScript のヒント。

JavaScript は、indexof をサポートしていません。その解決方法_JavaScript のヒント。

WBOY
WBOYオリジナル
2016-05-16 15:07:261508ブラウズ

indexOf() メソッドの定義と使用法

indexOf() メソッドは、文字列内で指定された文字列値が最初に出現する位置を返します。

このメソッドは、文字列 stringObject を最初から最後まで取得して、部分文字列 searchvalue が含まれているかどうかを確認します。検索の開始位置は、文字列の fromindex または文字列の先頭 (fromindex が指定されていない場合) です。 searchvalue が見つかった場合は、searchvalue が最初に出現した位置が返されます。

stringObject 内の文字の位置は 0 から始まります。

文字列が配列内に見つからない場合は -1 を返します。

本題:

js の Indexof メソッドは、配列内で特定の要素の最初に見つかったインデックス値を見つけることができますが、IE8 では Indexof がサポートされていません。この記事では、IE8 が Indexof
をサポートしていない場合の解決策を紹介します。

ブラウザがindexofをサポートしていない場合は、スクリプトを作成するときに次のコードを先頭に使用すると、ネイティブサポートなしでindexOfメソッドを使用できるようになります。

if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(searchElement, fromIndex) {
var k;
if (this == null) {
throw new TypeError('"this" is null or not defined');
}
var O = Object(this);
var len = O.length >>> 0;
if (len === 0) {
return -1;
}
var n = +fromIndex || 0;
if (Math.abs(n) === Infinity) {
n = 0;
}
if (n >= len) {
return -1;
}
k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
while (k < len) {
if (k in O && O[k] === searchElement) {
return k;
}
k++;
}
return -1;
};
}

JS は、indexof をサポートしていません。上記の解決策は非常に効果的です。同時に、スクリプトのサポートにも非常に感謝しています。ハウスのウェブサイトです!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。