Когда вы работаете с массивами в Javascript, вам часто приходится обращаться к хранящимся в них данным или изменять их. Есть несколько различных способов сделать это. Конечно, вы всегда можете получить доступ к элементу по отдельности через его индекс и присвоить новое значение. Для нацеливания на один элемент, когда вы уже знаете его индекс, это работает просто отлично:
Но это может быстро стать неэффективным, особенно если вы повторяете одну и ту же операцию для нескольких элементов. Например, если у вас есть массив чисел, и вы хотите умножить каждое число на 3, это может выглядеть так:
К счастью, в Javascript есть инструменты, которые могут сделать этот процесс немного более автоматизированным. Например, вы можете написать функцию, использующую цикл for
:
Однако, на мой взгляд, петли for легко могут стать плотными и непрозрачными. Часто с первого взгляда трудно понять, что он делает. К счастью, в Javascript есть еще один встроенный метод, который идеально подходит для решения поставленной задачи. Этот метод .map
.
Так что же происходит, когда вы используете .map
? Когда вы вызываете .map
для массива, вы должны указать функцию обратного вызова в скобках. Эта функция обратного вызова будет иметь параметр, и по мере того, как .map
перемещается по каждому элементу целевого массива, каждый элемент будет передан в качестве аргумента для обратного вызова. На каждой итерации выполняются операции обратного вызова, а конечный результат помещается в новый массив. После того, как .map
пройдет через каждый элемент массива, его возвращаемое значение будет новым массивом той же длины, что и целевой массив.
Вы также можете передать функцию, которая была объявлена в другом месте в качестве обратного вызова:
Как видите, .map
— очень полезный инструмент в Javascript. Использование .map
может привести к более чистому и удобному для чтения коду. Это особенно полезно в ситуациях, когда вам нужно манипулировать информацией, хранящейся в массиве, без изменения исходных данных. Его возвращаемое значение позволяет сохранять данные в новую переменную, чтобы вы могли получить доступ к новому массиву в своем коде.