Il me manque une option comment obtenir le numéro d'index dans la map
fonction à l' aide List
de Immutable.js
:
var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();
La documentation montre que map()
revient Iterable<number, M>
. Existe-t-il un moyen élégant de répondre à mes besoins?
javascript
functional-programming
immutable.js
Zygimantas
la source
la source
map
est censé préserver la structure du tableau, c'est-à-dire que seules ses valeurs doivent être transformées et non le tableau lui-même.Réponses:
Vous pourrez obtenir l'itération actuelle de
index
lamap
méthode via son 2e paramètre.Exemple:
Production:
Voir aussi: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map
la source
map
opération est utilisée pour construire un nouveau tableau en itérant à travers les éléments d'un tableau donné. Pour répondre à votre question, oui, une déclaration de retour est requise et, dans ce cas, elle renvoie la valeur «X» à chaque itération. Ainsi, le produit final du code sera[ 'X', 'X','X','X' ]
'X'
est une chaîne.Array.prototype.map()
indice:On peut accéder à l'index
Array.prototype.map()
via le deuxième argument de la fonction de rappel. Voici un exemple:Autres arguments de
Array.prototype.map()
:Array.map()
est un objet qui sera lathis
valeur de la fonction de rappel. Gardez à l'esprit que vous devez utiliser le mot clé standardfunction
pour déclarer le rappel car une fonction flèche n'a pas sa propre liaison authis
mot clé.Par exemple:
la source
Utilisation de Ramda:
la source