ホームページ > ウェブフロントエンド > jsチュートリアル > Javascript 配列ポリフィル: マップ、フィルター

Javascript 配列ポリフィル: マップ、フィルター

Patricia Arquette
リリース: 2024-12-17 06:47:25
オリジナル
268 人が閲覧しました

Javascript array polyfils: map, filter

JavaScript のポリフィルとは何ですか?

現代では、最新バージョンの JavaScript が幅広い機能をサポートしています。ただし、一部の古いブラウザではこれらの新機能がすべて完全にはサポートされていないため、Internet Explorer (IE) などのブラウザではロジックが期待どおりに動作しない可能性があります。

古いブラウザとの互換性を確保するために、これらの新しい機能の動作を模倣するカスタム ロジックを作成できます。このカスタム コードは「ポリフィル」として知られています。

この投稿では、配列メソッドのポリフィルの例をいくつか紹介します。

1.マップ:

    if (!Array.prototype.map) {
      try {
          Array.prototype.map = function(callback) {
              const arr = [];
              if (typeof callback !== "function") {
                  throw new Error("map callback is not a function");
              } else {
                  const len = this.length;
                  for (let i = 0; i < len; i++) {
                      const val = callback(this[i], i);
                      arr.push(val);
                  }
              }
              return arr;
          }
      } catch (err) {
          console.error(err);
      }
  }
ログイン後にコピー

上記のコードでは、ネイティブのマップ メソッドがない場合に、配列のプロトタイプ チェーンにマップ メソッドを 1 つ追加していることがわかります。

2.フィルター:

if (!Array.prototype.filter) {
    try {
        Array.prototype.filter = function(callback) {
            const arr = [];
            if (typeof callback !== "function") {
                throw new Error("filter callback is not a function");
            } else {
                const len = this.length;
                for (let i = 0; i < len; i++) {
                    const val = callback(this[i], i);
                    if (val) {
                        arr.push(this[i]);
                    }
                }
            }
            return arr;
        }
    } catch (err) {
        console.error(err);
    }
}
ログイン後にコピー

以上がJavascript 配列ポリフィル: マップ、フィルターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート