Чтобы увидеть преимущества функционального подхода, лучше написать пример немного другим образом. Сейчас у Вас в общем ничего функционального там и нет (наличие функций !== ФП):
function formatter(item) {
return "0" + item.toString();
}
function validator(number) {
if (typeof number !== "number") {
throw new Error("invalid argument: Number expected");
}
return number;
}
function formatData(array, formatter, validator) {
return array.map(item => formatter(validator(item)));
}
alert(formatData([1, 2, 3], formatter, validator));
PS: можно заморочиться и спроектировать более универсальные функции, но в качестве примера и так сойдет)