IE11で配列のincludesメソッドを使えるようにする方法

どうも、イソップです。

IE11では、Array.prototype.includesメソッドがサポートされていないため動作しません。

includesメソッドを使わないのが一番簡単ですが、Polyfill(ポリフィル、代替コード)を実装することで、IE11でも動作させることが出来ます。

Polyfill実装コード

次のコードをサイトで読み込んでいるJSファイルに追加しましょう。

[js]
if (!Array.prototype.includes) {
Object.defineProperty(Array.prototype, ‘includes’, {
value: function(searchElement, fromIndex) {

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 false;
}

var n = fromIndex | 0;
var k = Math.max(n >= 0 ? n : len – Math.abs(n), 0);

while (k < len) { if (o[k] === searchElement) { return true; } k++; } return false; } }); } [/js] コードを追加するだけで、IE11でincludesメソッドが利用できるようになります。 [aside type="border"]参考サイト
Array.prototype.includes() – JavaScript | MDN[/aside]

五十川 洋平(Yohei Isokawa)

五十川 洋平(Yohei Isokawa)

フロントエンドエンジニア/面白法人カヤックなどのWeb制作会社に勤務したのち、故郷の新潟に戻り独立。JSフレームワークAngularやFirebase、Google Cloud Platformを使ったWebアプリ開発が得意。 また、Udemyのプログラミング解説の講師、writer.appの自主開発や上越TechMeetupの主催などを行っています。

プロフィール

©Copyright 2020 Yohei Isokawa All Rights Reserved.