Saya kehilangan opsi cara mendapatkan nomor indeks di dalam map
fungsi menggunakan List
dari Immutable.js
:
var list2 = list1.map(mapper => { a: mapper.a, b: mapper.index??? }).toList();
Dokumentasi menunjukkan bahwa map()
pengembalian Iterable<number, M>
. Apakah ada cara elegan untuk apa yang saya butuhkan?
javascript
functional-programming
immutable.js
Zygimantas
sumber
sumber
map
seharusnya melestarikan struktur array, yaitu hanya nilainya yang harus diubah bukan array itu sendiri.Jawaban:
Anda akan bisa mendapatkan iterasi saat ini
index
untukmap
metode melalui parameter ke-2.Contoh:
Keluaran:
Lihat juga: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map
sumber
map
Operasi ini digunakan untuk membangun array baru dengan mengulangi elemen-elemen dari array yang diberikan. Untuk menjawab pertanyaan Anda, ya pernyataan pengembalian diperlukan, dan untuk kasus ini, ia mengembalikan nilai 'X' pada setiap iterasi. Dengan demikian produk akhir dari kode tersebut adalah[ 'X', 'X','X','X' ]
'X'
adalah sebuah string.Array.prototype.map()
indeks:Seseorang dapat mengakses indeks
Array.prototype.map()
melalui argumen kedua dari fungsi panggilan balik. Berikut ini sebuah contoh:Argumen lain dari
Array.prototype.map()
:Array.map()
adalah objek yang akan menjadithis
nilai untuk fungsi panggilan balik. Ingatlah bahwa Anda harus menggunakan kata kunci biasafunction
untuk menyatakan panggilan balik karena fungsi panah tidak memiliki ikatan sendiri denganthis
kata kunci.Sebagai contoh:
sumber
Menggunakan Ramda:
sumber