Ich vermisse eine Option, wie man die Indexnummer innerhalb der map
Funktion erhält List
von Immutable.js
:
var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();
Die Dokumentation zeigt, dass map()
zurückkehrt Iterable<number, M>
. Gibt es einen eleganten Weg zu dem, was ich brauche?
javascript
functional-programming
immutable.js
Zygimantas
quelle
quelle
map
die Struktur des Arrays erhalten bleiben soll, dh nur seine Werte sollten transformiert werden, nicht das Array selbst.Antworten:
Sie können die aktuellen Iterationen
index
für diemap
Methode über den 2. Parameter abrufen.Beispiel:
Ausgabe:
Siehe auch: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map
quelle
map
Operation wird zum Erstellen eines neuen Arrays verwendet, indem die Elemente eines bestimmten Arrays durchlaufen werden. Um Ihre Frage zu beantworten, ist eine return-Anweisung erforderlich. In diesem Fall wird bei jeder Iteration der Wert 'X' zurückgegeben. Somit wird das Endprodukt des Codes sein[ 'X', 'X','X','X' ]
'X'
ist eine Zeichenfolge.Array.prototype.map()
Index:Man kann
Array.prototype.map()
über das zweite Argument der Rückruffunktion auf den Index zugreifen. Hier ist ein Beispiel:Andere Argumente von
Array.prototype.map()
:Array.map()
ist ein Objekt, das derthis
Wert für die Rückruffunktion ist. Beachten Sie, dass Sie das regulärefunction
Schlüsselwort verwenden müssen, um den Rückruf zu deklarieren, da eine Pfeilfunktion keine eigene Bindung an dasthis
Schlüsselwort hat.Beispielsweise:
quelle
Verwenden von Ramda:
quelle