Замкните счётчик и возвращайте его текущее значение с последующим увеличением. Тогда вызовы id() последовательно дадут 0, 1, 2 и далее.
Создатель последовательных идентификаторов
Замкните счётчик и возвращайте его текущее значение с последующим увеличением. Тогда вызовы id() последовательно дадут 0, 1, 2 и далее.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Разработайте функцию id, которая при каждом вызове выдаёт следующее число последовательности, начиная с нуля.
Ответ
Замкните счётчик и возвращайте его текущее значение с последующим увеличением. Тогда вызовы id() последовательно дадут 0, 1, 2 и далее.
function createId() {
let next = 0;
return () => next++;
}
const id = createId();
id(); // 0
id(); // 1
Каждый createId создаёт независимую последовательность. Значения уникальны только внутри этого генератора до потери точности Number; после перезагрузки счётчик начинается заново. Для идентификаторов между процессами или постоянными записями такой локальный счётчик не заменяет механизм базы данных.