# Метод map для перебора массива в JavaScript

`map`

Дан массив с числами. Используя метод `map` извлеките из каждого элемента массива квадратный корень и запишите результат в новый массив.

Дан массив со строками. Используя метод `map` в конец значению каждого элемента массива добавьте символ `'!'`.

Дан массив со строками. Используя метод `map` переверните символы каждой строки в обратном порядке.

Дан следующий массив:

`let arr = ['123', '456', '789'];`

Используя метод `map` преобразуйте этот массив в следующий:

`let arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ];`

## Ключ элемента

Функция-коллбэк может также принимать второй параметр - в него JavaScript разместит ключ элемента массива.

Давайте посмотрим на примере. Пусть дан вот такой массив:

`let arr = ['a', 'b', 'c', 'd', 'e'];`

Давайте в конец каждого элемента запишем его порядковый номер в массиве:

`let arr = ['a', 'b', 'c', 'd', 'e']; let result = arr.map(function(elem, index) { return elem + index; }); console.log(result); // выведет ['a0', 'b1', 'c2', 'd3', 'e4']`

Дан массив с числами. Используя метод `map` запишите в каждый элемент массива значение этого элемента, умноженное на его порядковый номер в массиве.

## Перебор многомерных массивов

Метод `map` можно использовать и для перебора многомерных массивов. Пусть, к примеру, дан вот такой массив:

`let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];`

Давайте переберем этот массив через `map` и выведем его элементы в консоль:

`let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { console.log(elem); });`

В результате `console.log` выведет `[1, 2, 3]`, потом `[4, 5, 6]`, потом `[7, 8, 9]`.

Как вы видите, в переменную `elem` попадают подмассивы. Давайте теперь применим метод `map` к каждому подмассиву и возведем каждый его элемент в квадрат:

`let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { return elem.map(function(num) { return num * num; }); }); console.log(result);`
←→
↑
en ru