Замыкание в цикле (var vs let)

Easy
ClosuresAsyncWildberries

В интервью иногда дают баг с замыканиями в цикле.

Реализуйте функцию captureLoopValues(n), которая должна вернуть массив [0, 1, ..., n-1], используя массив функций-колбэков.

Неправильный вариант с var обычно возвращает одинаковые значения:

for (var i = 0; i < n; i++) {
  callbacks.push(() => i);
}

Примеры

Пример 1
Вход:
captureLoopValues(3)
Выход:
[0,1,2]
Пример 2
Вход:
captureLoopValues(1)
Выход:
[0]
Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода