首頁 > web前端 > js教程 > Javascript 陣列 polyfils:映射、過濾器

Javascript 陣列 polyfils:映射、過濾器

Patricia Arquette
發布: 2024-12-17 06:47:25
原創
268 人瀏覽過

Javascript array polyfils: map, filter

什麼是 JavaScript 中的 Polyfill?

現代,最新版本的 JavaScript 支援廣泛的功能。然而,一些較舊的瀏覽器並不完全支援所有這些新功能,這可能會導致您的邏輯在 Internet Explorer (IE) 等瀏覽器中無法按預期工作。

為了確保與舊版瀏覽器的兼容性,您可以編寫模仿這些新功能的行為的自訂邏輯。此自訂程式碼稱為“polyfill”。

在這篇文章中,我將為您提供一些陣列方法的 polyfill 範例。

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);
      }
  }
登入後複製

在上面的程式碼中你可以看到,如果沒有原生的map方法,我在陣列的原型鏈中加入了一個map方法。

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 陣列 polyfils:映射、過濾器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板