Maison >interface Web >js tutoriel >Polyfils de tableau Javascript : carte, filtre

Polyfils de tableau Javascript : carte, filtre

Patricia Arquette
Patricia Arquetteoriginal
2024-12-17 06:47:25271parcourir

Javascript array polyfils: map, filter

Qu'est-ce que les polyfills en javascript ?

Dans les temps modernes, la dernière version de JavaScript prend en charge un large éventail de fonctionnalités. Cependant, certains navigateurs plus anciens ne prennent pas entièrement en charge toutes ces nouvelles fonctionnalités, ce qui peut empêcher votre logique de fonctionner comme prévu dans des navigateurs comme Internet Explorer (IE).

Pour garantir la compatibilité avec les anciens navigateurs, vous pouvez écrire une logique personnalisée qui imite le comportement de ces nouvelles fonctionnalités. Ce code personnalisé est connu sous le nom de « polyfill ».

Dans cet article, je vais vous fournir quelques exemples de polyfills pour les méthodes de tableau.

1. carte :

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

Dans le code ci-dessus, vous pouvez voir que j'ai ajouté une méthode map dans la chaîne de prototypes du tableau s'il n'y a pas de méthode map native.

2. filtre :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn