繁体   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