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