簡體   English   中英

將函數列表應用於Ramda中的值

[英]Apply a list of functions to a value in Ramda

我怎樣才能在Ramda中最好地創建這個功能?

function get_list (value) {
  return [
    first_transform(value),
    second_transform(value)
  ]
}

get_list(12)

我猜這是地圖功能的反面。

你有幾個選擇。

假設您的功能已經在列表中:

transforms = [first_transform, second_transform];

第一個選項是使用R.juxt ,它通過創建一個將給定函數列表應用於新函數接收的值的新函數,幾乎完全符合您的要求。

get_list = R.juxt(transforms);

另一個選項是R.ap ,它將函數列表應用於值列表。 R.of可用於將值包裝在數組中。

get_list = R.compose(R.ap(transforms), R.of);

或者最后, R.map可用於接收列表中的每個函數並返回將其應用於值的結果。

get_list = value => R.map(fn => fn(value), transforms);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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