w3schools una pasar parametros otra llamar google funciones funcion ejemplos desde dentro javascript functional-programming immutable.js

una - map javascript



Índice dentro de la función map() (3)

Índice Array.prototype.map() :

Se puede acceder al índice Array.prototype.map() través del segundo argumento de la función de devolución de llamada. Aquí hay un ejemplo:

const array = [1, 2, 3, 4]; const thisObj = {prop1: 1} const map = array.map( function (x, index, array) { console.log(array); console.log(this) }, thisObj);

Otros argumentos de Array.prototype.map() :

  • El tercer argumento de la función de devolución de llamada expone la matriz en la que se invocó el mapa
  • El segundo argumento de Array.map() es un objeto que será this valor para la función de devolución de llamada. Tenga en cuenta que debe usar la palabra clave de function regular para declarar la devolución de llamada ya que una función de flecha no tiene su propio enlace a this palabra clave.

Por ejemplo:

import {addIndex, map} from ''ramda''; const list = [ ''h'', ''e'', ''l'', ''l'', ''o'']; const mapIndexed = addIndex(map); mapIndexed((currElement, index) => { console.log("The current iteration is: " + index); console.log("The current element is: " + currElement); console.log("/n"); return ''X''; }, list);

Me falta una opción para obtener el número de índice dentro de la función de map usando List from Immutable.js :

var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();

La documentación muestra que map() devuelve Iterable<number, M> . ¿Hay alguna forma elegante de lo que necesito?


Podrá obtener el index de la iteración actual para el método de map través de su segundo parámetro.

Ejemplo:

var list = [ ''h'', ''e'', ''l'', ''l'', ''o'']; list.map((currElement, index) => { console.log("The current iteration is: " + index); console.log("The current element is: " + currElement); console.log("/n"); return ''X''; });

Salida:

const array = [1, 2, 3, 4]; const map = array.map((x, index) => { console.log(index); return x + index; }); console.log(map);

Ver también: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map

Parámetros

devolución de llamada: función que produce un elemento de la nueva matriz, tomando tres argumentos:

1) valor actual
El elemento actual que se procesa en la matriz.

2) índice
El índice del elemento actual que se procesa en la matriz.

3) matriz
Se solicitó el mapa de matriz.


Usando Ramda:

import {addIndex, map} from ''ramda''; const list = [ ''h'', ''e'', ''l'', ''l'', ''o'']; const mapIndexed = addIndex(map); mapIndexed((currElement, index) => { console.log("The current iteration is: " + index); console.log("The current element is: " + currElement); console.log("/n"); return ''X''; }, list);