簡體   English   中英

通過Immutable.List的Ramda.map如何返回列表而不是數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM