Допустим, у вас есть массив из N чисел, и вы хотите умножить каждое число на 2.

Плохая практика

  1. Таким образом вы измените исходный массив. Вы больше не сможете получить доступ к исходному массиву.
  2. Сложно читать. Циклы эффективны, но их трудно читать из-за их императивного характера.
  3. Трудно поддерживать. Сами петли сложно поддерживать. Вложенные циклы и условия внутри них - ад.

Лучшая практика

Таким образом вы получите новый массив без ущерба для исходного. Его все еще сложно читать и поддерживать.

Лучшая практика

МетодArray.map решит множество проблем.
Код станет декларативным, описывая полученные данные и способы их получения.
Вы можете прочитать приведенный выше код как:

«newArray - это список чисел, где каждое число является произведением умножения на 2 каждого числа, содержащегося в arr».

Попробуйте проделать то же самое с предыдущим примером, это будет непросто!
Его будет легче поддерживать благодаря декларативному характеру, быстрее всего писать и объяснять.

Анатомия метода .map

.map можно использовать с любым типом массива (массив строк, целые числа, неопределенные значения и т. Д.).
Он принимает аргумент functionas, где у вас будет доступ к каждому отдельному элементу массива и его соответствующему индексу. .

См. Примеры ниже:

Вы всегда можете добавить любое выражение внутри вашего map тела:

Но не забудьте return значение. В противном случае вы получите следующий результат: