Код Junior Разминка: короткие функции обновлено
memoize
Условие
Кэшируй результат по первому аргументу (примитив).
Что проверяют тесты
не пересчитывает
кэширует undefined
Как подойти
Map + has/get/set. Проверка if (cache.get(k)) ломается на falsy-результатах. Follow-up: ключ из нескольких аргументов (JSON.stringify) и WeakMap для объектных ключей.
Подсказки: 1
- cache.has, а не проверка значения на истинность.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.