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

Polyfils de tableau Javascript : carte, filtre

Patricia Arquette
Libérer: 2024-12-17 06:47:25
original
268 Les gens l'ont consulté

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);
      }
  }
Copier après la connexion

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);
    }
}
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal