[英]How does Ramda.map over Immutable.List return a List instead of an Array?
我在Immutable.js中創建了一個地圖列表,如下所示:
List [
Map { "id": 0, "name": "John" },
Map { "id": 1, "name": "Lennon" }
]
現在,我使用了Ramda的R.map來映射以上列表:
R.map(map => map.get('id'))(a)
它返回一個新的id列表,其類型為Immutable.List
,而不是JS Array
。
List [ 0, 1 ]
我了解,如果定義了Symbol.iterator
,我們可以遍歷任何數據結構。 但是返回的類型也是List
。
這怎么可能?
Ramda文檔中說明了獲得List
的原因:
map
調度到第二個參數的
map
方法(如果存在)。
您的第二個參數是List
。 是的,如Immutable文檔中所示 , List
具有map
方法:
map
返回具有通過映射器函數傳遞的值的新
List
。
這樣就解釋了為什么獲得List
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.