Maison  >  Article  >  interface Web  >  Mémorisation en JavaScript

Mémorisation en JavaScript

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 07:36:02255parcourir

Memorização em JavaScript

La mémorisation (ou "mémoisation") est une technique d'optimisation qui met en cache les résultats de fonctions lourdes ou chronophages, afin que les futurs appels avec les mêmes arguments soient plus rapides. La mémorisation est particulièrement utile dans les fonctions pures, où le même ensemble d'entrées produit toujours le même résultat.

Comment fonctionne la mémorisation ?

Lorsqu'une fonction mémorisée est appelée pour la première fois avec certains arguments, elle effectue le calcul et stocke le résultat dans un cache. Lors des appels suivants avec les mêmes arguments, la fonction renvoie le résultat directement depuis le cache, évitant ainsi des calculs répétés.

Mise en œuvre de la mémorisation de base

function memoize(fn) {
  const cache = {};

  return function(...args) {
    const key = JSON.stringify(args); // Cria uma chave única para os argumentos

    if (cache[key]) {
      console.log("Resultado em cache");
      return cache[key]; // Retorna o valor armazenado no cache
    }

    const result = fn(...args); // Calcula o valor
    cache[key] = result; // Armazena o resultado no cache

    return result;
  };
}

Exemple d'utilisation :

function factorial(n) {
  if (n <= 1) return 1;
  return n * factorial(n - 1);
}

const memoizedFactorial = memoize(factorial);

console.log(memoizedFactorial(5)); // Calcula e armazena em cache
console.log(memoizedFactorial(5)); // Recupera do cache

Avantages de la mémorisation

  • Réduction du traitement : évite les calculs répétés, ce qui améliore les performances.
  • Idéal pour les fonctions récursives : accélère le traitement des fonctions qui doivent être appelées plusieurs fois avec les mêmes valeurs.
  • Efficace sur les fonctions pures : la mémorisation fonctionne mieux lorsque la fonction renvoie la même valeur pour les mêmes arguments. Applications courantes de la mémorisation
  • Calculs mathématiques : comme factoriel, Fibonacci, etc.
  • Appels API : empêche les appels API en double avec les mêmes paramètres.
  • Opérations à coût élevé : Traitement des données et manipulations complexes.

Résumé
La mémorisation en JavaScript est une technique puissante pour améliorer l'efficacité du code et accélérer les performances lors d'opérations répétitives et coûteuses en calcul.

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