Skip to content

Cercle Blog

We've got something interesting

Compreender a Memoização em JavaScript

Posted on Setembro 26, 2021 By admin Sem comentários em Compreender a Memoização em JavaScript

o que é Memoização

Memoização é uma técnica de otimização que acelera os aplicativos armazenando os resultados de chamadas de função caras e retornando o resultado em cache quando as mesmas entradas são fornecidas novamente.

vamos dar um exemplo, temos este método para calcular fatorial de um número usando recursão.

function recursiveFac(n) { if (n === 0) { return 1 } else { return n * recursiveFac(n - 1) }}

esta função funcionará bem, mas a longo prazo, será cara. digamos que se chama primeiro memoFac(7) e, em seguida, memoFac(8), Sem um cache para armazenar nossos valores calculados anteriormente, temos que repetir todo o processo, devolvendo a função mais 7 vezes.

const cache = {}function memoFac(n) { if (cache) { return cache } else { if (n === 0) { cache = 1 } else { cache = n * memoFac(n - 1) } return cache}

portanto, temos outra função memoFac() e objeto de cache global que armazenará o resultado dessa chave.
agora, se chamarmos memoFac (8) Depois de chamarmos memoFac(7), já salvamos nosso valor calculado para fatorial(7) em nosso objeto “cache”, que foi movido para fora da função para manter seus cálculos de cache. Assim, só precisamos chamar a função uma vez, calcular 8 * memoFac(7), que nos envia direto para o nosso “cache” para recuperar o valor em cache. Da hora!

mas espere — se a memoização seguir o mesmo formato geral (recuperando valores de um cache no escopo externo da função ou calculando o valor usando a função de fechamento anônimo), não poderíamos escrever uma função de memoize geral? Sim, podemos!

o conceito de memoização em JavaScript é construído principalmente em dois conceitos.

  1. Fechamentos
  2. Funções de Ordem Superior
function memoizerHoc(fun){ let cache = {} return function (n){ if (cache != undefined ) { return cache } else { let result = fun(n) cache = result return result } }}

Aqui temos HOC função memoizerHoc() e uma variável local de cache que pode ser acessado dentro da função retornada (encerramento).

Articles

Navegação de artigos

Previous Post: A dieta Neandertal – dos dentes às entranhas-SAPIENS
Next Post: DIY Spinning Nerf Target

More Related Articles

A Necessidade de Cognição Escala Articles
Quebrando o que faz um grande chefe de tripulação da NASCAR Articles
Top 10 equívocos comuns sobre a África – Estereótipos & myths Articles
Nacional do Festival de Música De 2020 Temporada Cancelada Articles
Mountaineer Park seleções para 21 de dezembro de 2020-Horse Racing Picks Articles
Moles e lesões : fazendo uma montanha de um Molehill Articles

Deixe uma resposta Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Arquivo

  • Fevereiro 2022
  • Janeiro 2022
  • Dezembro 2021
  • Novembro 2021
  • Outubro 2021
  • Setembro 2021
  • Agosto 2021
  • Julho 2021
  • Junho 2021
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Meta

  • Iniciar sessão
  • Feed de entradas
  • Feed de comentários
  • WordPress.org

Copyright © 2022 Cercle Blog.

Powered by PressBook Blog WordPress theme