Jak najlepiej utworzyć tę funkcję w Ramda? To jest odwrotność funkcji map.Zastosuj listę funkcji do wartości w Ramda
8
A
Odpowiedz
17
Masz kilka opcji.
Zakładając, że funkcje są już na liście:
transforms = [first_transform, second_transform];
Pierwszą opcją jest użycie R.juxt
, który ma prawie dokładnie to, co jesteś po tworząc nową funkcję, która ma zastosowanie do listy podanych funkcji do wartości otrzymanych przez nową funkcję.
get_list = R.juxt(transforms);
Inną opcją jest R.ap
, które stosuje się listę funkcji z listy wartości. R.of
może być użyty do zawinięcia wartości w tablicy.
get_list = R.compose(R.ap(transforms), R.of);
Albo wreszcie R.map
mogłyby zostać wykorzystane do otrzymywania wszystkich funkcji z listy i zwróci wynik zastosowania go do wartości.
get_list = value => R.map(fn => fn(value), transforms);