103 of 264 menu

Método map

O método map permite aplicar uma função determinada para cada elemento de um array. No entanto, o método não altera o array original, mas retorna um array modificado.

O método recebe como parâmetro uma função que será executada para cada elemento do array. O que essa função retornar através de return para o elemento do array se tornará o novo valor desse elemento (veja os exemplos).

É possível passar 3 parâmetros para a função. Se esses parâmetros estiverem presentes (eles não são obrigatórios), então o primeiro receberá automaticamente o elemento do array, o segundo receberá seu número no array (índice) e o terceiro - o próprio array.

Sintaxe

let novoArray = array.map(function(elemento, indice, array) { código return elementoModificado; });

Exemplo

Vamos criar um array onde cada elemento é o dobro do elemento correspondente no array inicial:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem) { return elem * 2; }); console.log(res);

Resultado da execução do código:

[2, 4, 6, 8, 10]

Exemplo

Vamos criar um array onde cada elemento é obtido da seguinte forma - o valor do elemento é multiplicado por sua posição ordinal no array:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index) { return elem * index; }); console.log(res);

Resultado da execução do código:

[0, 2, 6, 12, 20]

Exemplo

Se necessário, é possível passar o próprio array como terceiro parâmetro:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { // aqui o array arr estará disponível });

Exemplo

O método map também pode ser usado para percorrer arrays multidimensionais. Suponha, por exemplo, que tenhamos o seguinte array:

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

Vamos percorrer este array usando map e exibir seus elementos no console:

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

Como resultado, console.log exibirá [1, 2, 3], depois [4, 5, 6], depois [7, 8, 9].

Como você pode ver, a variável elem recebe os subarrays. Vamos agora aplicar o método map a cada subarray e elevar cada um de seus elementos ao quadrado:

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);

Veja também

  • método forEach,
    que aplica uma função para cada elemento do array
  • método filter,
    que permite filtrar elementos do array
  • métodos some e every,
    realizando verificação do array
  • métodos reduce e reduceRight,
    reduzindo o array a um único valor
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar