Код Junior Разминка: короткие функции обновлено

memoize

Условие

Кэшируй результат по первому аргументу (примитив).

Что проверяют тесты

  • не пересчитывает

  • кэширует undefined

Как подойти

Map + has/get/set. Проверка if (cache.get(k)) ломается на falsy-результатах. Follow-up: ключ из нескольких аргументов (JSON.stringify) и WeakMap для объектных ключей.

Подсказки: 1
  1. cache.has, а не проверка значения на истинность.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.