На картинці приклад коду. Результат його роботи:
❯ node example.jsfunctional: 7.782msfor of: 3.851msfor: 2.853msКоли вам знадобиться цей факт? При працевлаштуванні у Big Tech або Enterprise компанію. Цей рецепт саме для таких людей. Адже одним із етапів відбору в такі компанії часто є алгоритми, як правило з автоматизованою перевіркою. Один в один, як на олімпіадах зі спортивного програмування.
Під час алгоритмічного інтерв’ю використання функціонального стилю може знизити ваші шанси на роботу. Поясню чому:
– функціональний код використовує N циклів на N операцій, замість 1 циклу на N операцій. У прикладі операцій 2 – перевірка парності та підсумовування.
– функціональний код використовує додаткову пам’ять на кожному map/reduce/etc.
А ось при розробці цей факт впливає мало. Оскільки Node.js у комерційній розробці рідко використовується для обчислень (Node.js замінюють більш підходящими технологіями), а ці мікрооптимізації шкодують читабельності/підтримуваності коду.