Me falta una opción de cómo obtener el número de índice dentro de la mapfunción utilizando Listdesde Immutable.js:
var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();
La documentación muestra que map()regresa Iterable<number, M>. ¿Hay alguna forma elegante de lo que necesito?
javascript
functional-programming
immutable.js
Zygimantas
fuente
fuente

mapse supone que preserva la estructura de la matriz que es, solo sus valores deben transformarse, no la matriz en sí.Respuestas:
Podrá obtener las iteraciones actuales
indexpara elmapmétodo a través de su segundo parámetro.Ejemplo:
Salida:
Ver también: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map
fuente
mapoperación se utiliza para construir una nueva matriz iterando a través de los elementos de una matriz determinada. Para responder a su pregunta, sí, se requiere una declaración de devolución, y para este caso está devolviendo el valor 'X' en cada iteración. Por lo tanto, el producto final del código será[ 'X', 'X','X','X' ]'X'es una cadena.Array.prototype.map()índice:Se puede acceder al índice a
Array.prototype.map()través del segundo argumento de la función de devolución de llamada. Aquí hay un ejemplo:Otros argumentos de
Array.prototype.map():Array.map()es un objeto que será elthisvalor de la función de devolución de llamada. Tenga en cuenta que debe usar la palabra clave normalfunctionpara declarar la devolución de llamada ya que una función de flecha no tiene su propio enlace a lathispalabra clave.Por ejemplo:
fuente
Usando Ramda:
fuente