Как я могу принять аргумент в индексе с помощью функций Ramda?

#javascript #ramda.js

#javascript #ramda.js

Вопрос:

Примечание

Во-первых, я хотел бы опубликовать это на сайте code review; но для этого вам нужно как минимум 3 строки кода, и этот вопрос не требует такого большого количества кода. Я знаю, что этот вопрос немного расплывчатый для SO, но я не вижу предпочтительного сайта, на котором его можно опубликовать.


Актуальный вопрос

Я нашел полезным в нескольких ситуациях, особенно при использовании ramda, иметь возможность иметь функцию, которая просто возвращает аргумент n , который был передан функции.

Самый простой способ, который я смог создать, это:

 const takeArgument = argIndex => (...args) => args[argIndex];
 

Это нормально и работает для того, что мне нужно, но мой вопрос в том, есть ли способ сделать это, используя только функции Ramda? Я не смог найти никаких примеров того, как это делается, но я чувствую, что должен быть простой способ сделать что-то подобное.

Комментарии:

1. что-то вроде nthArg ?

2. @Thomas точно! Я думал, что для этого в библиотеке должна быть простая функция, но не смог ее найти, большое спасибо!

Ответ №1:

Как @Thomas упомянул в своем комментарии, это легко достигается nthArg , например, с помощью:

 const { nthArg } = R;
const getSecondArg = nthArg(1)

const x = getSecondArg(1, 2)
console.dir(x) 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>