Estoy tratando de adaptar la función memoize al método de utilidad pequeña, sin embargo, estoy haciendo algo mal y agradecería si alguien puede sugerir por qué :)
const config = { 14340: 1195, 15774: 1226, 17208: 1257, 18642: 1288, 20076: 1319 } const memoize = (fn) => { let cache = {} return (...args) => { let cacheKey = args.map(n => n.toString() + '+').join('') if (cacheKey in cache) { return cache[cacheKey] } else { let result = args.reduce((acc, curr) => fn(acc, curr), 0); cache[cacheKey] = result; return result; } } } function _getMaxValue(config) { const keys = Object.keys(config) .map((k) => parseInt(k, 10)) .sort(); return config[keys[keys.length - 1].toString()]; } const getMaxValue = (config) => memoize(_getMaxValue) const _add = (a, b) => { return a + b } const add = memoize(_add) console.log(getMaxValue(config)) // memoize return block console.log(add(1, 2)) // 3