Me falta una opción de cómo obtener el número de índice dentro de la map
función utilizando List
desde 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
map
se 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
index
para elmap
mé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
map
operació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á elthis
valor de la función de devolución de llamada. Tenga en cuenta que debe usar la palabra clave normalfunction
para declarar la devolución de llamada ya que una función de flecha no tiene su propio enlace a lathis
palabra clave.Por ejemplo:
fuente
Usando Ramda:
fuente