В чём прикол использования Map (и прочих подобных) в JS против for?
=====================================================================

 Часто вижу, что более молодые программисты используют только map (и прочие подобные) вместо for. Причём очень негодуют когда видят for, говорят, что это устаревшая техника и пережиток прошлого. При этом, map невозможно остановить, он будет проходить до конца массива, даже если тебе это не нужно. Но они походу лепят это просто для красоты или даже не понимают что пишут. Хотя иногда говорят: ну и что, главное что это более читабельно, а так это ерунда по нагрузке. При этом у них раз ерунда, два ерунда, а потом ерунда получается по производительности когда накапливается много такой ерунды.  

Какое ваше мнение на этот счёт? 

 Функция все же несколько иная по типу действия и как следствие применимости, нежели чем for. Основное и самое главное отличие, это новый-независимый контекст работы с элементом массива при каждом проходе(функция обратного вызова), с моментальным сбором результатов в новый массив. Да, в for все это тоже можно организовать, но кода потребуется несколько больше, а тут получается очень кратко. И еще, при переборе массива, не нужно указывать индекс элемента массива, как это делается в for. В общем map действительно хорош, но применять его понятное дело надо там - где это уместно.  

  

Также в условиях решения одинаковой задачи(простого перебора массива):  

+ Быстрое написание кода  

+ Код более читабелен, в том числе теми кто будет потом работать с вашим творением 

 Всё должно быть к месту, очевидно.   

  

Если нужна остановка цикла - можно использовать `some`, если нужен именно `map` с остановкой цикла - тут следует использовать `for` либо какую-нить либу, которая это умеет.  

  

Если эти некие "они" с оверхедом используют обычный `map` там где должен быть прерван цикл или там где не нужно получения нового массива - они говнокодеры.  

Если вы используете классический `for` там где идеально справился бы `map` - вы старпёр, бессмысленно раздувающий и усложняющий код.  

  

А производительность надо оптимизировать там и только там, где *надо* оптимизировать производительность. 

> При этом, map невозможно остановить, он будет проходить до конца массива, даже если тебе это не нужно. 

  

Во всех остальных случаях - методы лучше.