Для нескольких аргументов можно строить дерево Map/WeakMap по каждому аргументу, использовать пользовательский ключ или ограниченный кеш последнего набора аргументов.
Какие ещё способы, кроме JSON.stringify, можно использовать для мемоизации функции с несколькими аргументами?
Для нескольких аргументов можно строить дерево Map/WeakMap по каждому аргументу, использовать пользовательский ключ или ограниченный кеш последнего набора аргументов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для нескольких аргументов можно строить дерево Map/WeakMap по каждому аргументу, использовать пользовательский ключ или ограниченный кеш последнего набора аргументов.
Map сохраняет различия типов и идентичность объектов; WeakMap подходит только для допустимых объектных ключей и не решает весь смешанный случай сам. Учитывайте this, порядок аргументов, мутации и размер кеша. Ключ через соединение строк без экранирования может давать коллизии.