103 of 264 menu

Método map

El método map permite aplicar una función dada para cada elemento de un array. Este método no modifica el array original, sino que retorna un array modificado.

El método recibe como parámetro una función que se ejecutará para cada elemento del array. Lo que retorne esta función mediante return para el elemento del array, se convertirá en el nuevo valor de este elemento (ver ejemplos).

Se pueden pasar 3 parámetros a la función. Si estos parámetros están presentes (no son obligatorios), entonces en el primero irá automáticamente el elemento del array, en el segundo irá su número en el array (índice), y en el tercero - el array mismo.

Sintaxis

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

Ejemplo

Creemos un array donde cada elemento sea el doble del elemento correspondiente del array inicial:

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

Resultado de ejecutar el código:

[2, 4, 6, 8, 10]

Ejemplo

Creemos un array donde cada elemento se obtenga así - el valor del elemento se multiplica por su número de orden en el array:

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

Resultado de ejecutar el código:

[0, 2, 6, 12, 20]

Ejemplo

Si es necesario, se puede pasar el array mismo en el tercer parámetro:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { // aquí estará disponible el array arr });

Ejemplo

El método map también se puede usar para recorrer arrays multidimensionales. Supongamos, por ejemplo, que tenemos el siguiente array:

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

Recorramos este array con map y mostremos sus elementos en la consola:

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

Como resultado, console.log mostrará [1, 2, 3], luego [4, 5, 6], y luego [7, 8, 9].

Como puedes ver, en la variable elem van los subarrays. Apliquemos ahora el método map a cada subarray y elevemos cada uno de sus elementos al cuadrado:

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

Véase también

  • método forEach,
    que aplica una función para cada elemento del array
  • método filter,
    que permite filtrar elementos del array
  • métodos some y every,
    que realizan comprobación del array
  • métodos reduce y reduceRight,
    que reducen el array a un único valor
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar