function makeCounter() {
let count = 0;
let f = function() {
return count++; // есть доступ к внешней переменной "count"
};
return f;
}
Легитимное действие - это такой поступок, который не оспаривается никем из игроков, которые имеют право и возможности это действие оспорить.
Вообще если оптимизировать также и создание второго массива, то здесь еще проблема в том, что исходный массив может быть с дырками. Если это так, то есть 5й элемент не обязательно с индексом 4, то без перебора не обойтись. Иначе да, можно просто индексы вычислять.