ООП в JavaScriptКлассыmedium

Генератор айдишников

Реализуйте класс IdsProvider, который умеет генеририровать уникальные числа-идентификаторы (id).

При первом вызове метод generateId возвращает 0. Каждый следующий вызов этого метода должен возвращать новое натуральное (целое неотрицательное число). При этом должно возвращаться не любое число, а как можно меньшее.

С помощью метода revokeId мы можем отозвать какой-то айдишник. Тогда при последующих вызовах метод generateId сможет снова вернуть отозванные айдишники.

Метод revokeId ничего не возвращает. Если в него передатьнесуществующий айдишник, он тоже ничего специального делать не должен, т.к. удалять нечего.

const idsProvider = new IdsProvider(); console.log(idsProvider.generateId()); // 0 console.log(idsProvider.generateId()); // 1 console.log(idsProvider.generateId()); // 2 console.log(idsProvider.generateId()); // 3 console.log(idsProvider.generateId()); // 4 console.log(idsProvider.generateId()); // 5 idsProvider.revokeId(3); idsProvider.revokeId(1); console.log(idsProvider.generateId()); // 1 console.log(idsProvider.generateId()); // 3 console.log(idsProvider.generateId()); // 6 idsProvider.revokeId(0); console.log(idsProvider.generateId()); // 0 console.log(idsProvider.generateId()); // 7