El método _.memoize() se usa para memorizar una función determinada almacenando en caché el resultado calculado por la función. Si se emite resolver, la clave de caché para almacenar el resultado se determina en función de los argumentos proporcionados al método memorizado. De forma predeterminada, el primer argumento proporcionado a la función memorizada se utiliza como clave de caché del mapa.
Sintaxis:
_.memoize(func, [resolver])
Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- func: Este parámetro contiene la función para memorizar su salida.
- resolver: Es la función para resolver la clave de caché.
Valor devuelto: este método devuelve la nueva función memorizada.
Nota: Aquí, const _ = require(‘lodash’) se usa para importar la biblioteca lodash al archivo.
Ejemplo 1:
Javascript
// Requiring the lodash library const _ = require("lodash"); // Use of _.memoize() method var sum = _.memoize(function (n) { return n < 1 ? n : n + sum(n - 1); }); // Sum of first 6 natural number console.log(sum(6));
Producción:
21
Ejemplo 2:
Javascript
// Requiring the lodash library const _ = require("lodash"); var object = { 'cpp': 5, 'java': 8 }; // Use of _.memoize() method var values = _.memoize(_.values); // value of object console.log(values(object)); // Modify the result cache. values.cache.set(object, ['html', 'css']); console.log(values(object));
Producción:
[5, 8] ['html', 'css']
Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca lodash.