記憶 (または「メモ化」) は、重い関数または時間のかかる関数の結果をキャッシュして、同じ引数を使用した以降の呼び出しを高速化する最適化手法です。記憶は、同じ入力セットが常に同じ結果を生成する純粋関数で特に役立ちます。
暗記はどのように機能しますか?
記憶された関数が特定の引数を指定して初めて呼び出されるとき、計算が実行され、結果がキャッシュに保存されます。同じ引数を使用した後続の呼び出しでは、関数は結果をキャッシュから直接返し、計算の繰り返しを回避します。
基本的な暗記の実装
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; }; }
使用例:
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
暗記の利点
概要
JavaScript の記憶は、コードの効率を向上させ、計算量の多い反復的な操作のパフォーマンスを高速化するための強力な手法です。
以上がJavaScriptの暗記の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。