У меня есть функция fill
определена здесь:Заполнения пустой части массива, функциональный способ Javascript
/*
Takes an Array `array` containing null values, and return a copy of that array, filled with the values in `nArray`:
Usage:
fill(
[1, 2, 3],
[null, 4, null, 5, null]
)
// => [1, 4, 2, 5, 3];
*/
const fill = (nArray, array) => {
let i = 0;
return array.map((e) => !e ? nArray[i++] : e);
}
Счетчик i
определяется с let
и не является неизменным, так что этот код не является чисто функциональным , Как бы вы создали эту функцию, чтобы она стала чисто функциональной?
Этот счетчик не виден во внешнем мире, поэтому его никто не заботится. Ваш код является читаемым, функциональным и эффективным по мере его поступления. – Bergi