ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は、indexof をサポートしていません。その解決方法_JavaScript のヒント。
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 をサポートしていません。上記の解決策は非常に効果的です。同時に、スクリプトのサポートにも非常に感謝しています。ハウスのウェブサイトです!