Sobes.tech
Back to questions
Middle
5

Реализуй функцию callLimit, которая ограничивает количество вызовов переданной функции до заданного лимита, а также предоставляет метод reset для сброса счётчика.

Companies where asked
Mayflower

Answer from AI

sobes.tech AI

javascript function callLimit(fn, limit) { let count = 0;

function limited(...args) { if (count < limit) { count++; return fn(...args); } // Можно вернуть undefined или выбросить ошибку, если превышен лимит }

limited.reset = () => { count = 0; };

return limited; }

// Пример использования: const sayHello = () => console.log('Hello'); const limitedHello = callLimit(sayHello, 3);

limitedHello(); // Hello limitedHello(); // Hello limitedHello(); // Hello limitedHello(); // не вызовется

limitedHello.reset(); limitedHello(); // Hello