繁体   English   中英

在Ramda地图中如何访问收藏集?

[英]How can the collection be accessed during a Ramda map?

举一个非常简单的例子:

R.map((a, b) => {
  console.log(a, b) // 1, undefined
}, [1, 2, 3])

如何在地图中整体访问收藏集?

使用该集合的一个人为的示例可能是:

R.map((item, collection) => {
  console.log(item === collection.length)
}, [1, 2, 3])

我可以先将其存储在变量中,但这在函数链的末尾

R.map不允许您访问映射函数内部的集合,但是您可以围绕映射函数创建一个闭包,以便给自己一个为集合指定名称的机会。

((collection) => R.map((item) => {
  console.log(item === collection.length)
}, collection))([1, 2, 3]);

正如评论所建议的那样,Ramda默认情况下不包括此表是有充分的理由的。 但是有一个称为addIndex的装饰器,用于添加索引和集合:

const fn = R.addIndex(map)((elt, idx, coll) => elt == coll.length);
fn([1, 2, 3]); //=> [false, false, true]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM