簡體   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