Есть ли реальная польза от использования метода javascript Array reduce()?

Большинство вариантов использования метода reduce() можно легко переписать с помощью цикла for. И тестирование на JSPerf показывает, что reduce() обычно на 60-75% медленнее, в зависимости от операций, выполняемых внутри каждой итерации.

Есть ли в таком случае реальная причина использовать reduce(), кроме возможности писать код в «функциональном стиле»? Если вы можете увеличить производительность на 60 %, написав немного больше кода, зачем вам вообще использовать метод reduce()?

РЕДАКТИРОВАТЬ: На самом деле, другие функциональные методы, такие как forEach() и map(), демонстрируют одинаковую производительность, будучи как минимум на 60% медленнее, чем простые циклы for.

Вот ссылка на тест JSPerf (с вызовами функций): forloop vs forEach

19
задан Evan You 14 March 2012 в 05:16
поделиться