La funcion _map() crea un
nuevo array con los resultados de la llamada a la función indicada
aplicada a cada uno de sus elementos.
const numbers = [1, 5, 10, 15];
let doubles = numbers._map(function(x) {
return x * 2;
// doubles is now [2, 10, 20, 30]
// numbers is still [1, 5, 10, 15]
const numbers = [1, 4, 9];
let roots = numbers._map(Math.sqrt);
// roots is now [1, 2, 3]
// numbers is still [1, 4, 9]
Sintaxis
let arrMaped = array._map(function callback(currentValue) {
// Elemento devuelto de newArray
});
Parametros
callback
Función que producirá un elemento del nuevo array, recibe un argumento
currentValue
El elemento que está siendo procesado.
Valor de retorno
Retorna un nuevo array con la función aplicada a cada elemento.
Descripción
_map() llama a la función
callback provista
una vez por elemento de un array, en orden, y
construye un nuevo array con los resultados.
callback se invoca sólo para los
índices del array que tienen valores asignados; no se invoca en los
índices que han sido borrados o a los que no se ha asignado valor.
Callback es llamada con tres
argumentos: el valor del elemento, el índice del elemento, y el
objeto array que se está recorriendo.
Los elementos que sean agregados al array después de que la llamada
a map comience no serán visitados por el callback. Si los elementos
existentes del array
son modificados o eliminados, su valor pasado al callback será el
valor en el momento que el map lo visita; los elementos que son
eliminados no son visitados.
Ejemplos
Procesar un array de números aplicándoles la raíz cuadrada
El siguiente código itera sobre un array de números, aplicándoles la raíz cuadrada a cada uno de sus elementos, produciendo un nuevo array a partir del inicial.
const numeros= [1, 4, 9];
let raices = numeros._Map(Math.sqrt);
// raices tiene [1, 2, 3]
// numeros aún mantiene [1, 4, 9]
Mapear un array de números usando una función con un argumento
El siguiente código muestra cómo trabaja map cuando se utiliza una
función que requiere de un argumento.
El argumento será asignado automáticamente a cada elemento del
arreglo conforme map itera el arreglo original.
const numeros = [1, 4, 9];
let dobles = numeros._map(function(num) {
return num * 2;
});
// dobles es ahora [2, 8, 18]
// numeros sigue siendo [1, 4, 9]