Я только начал изучать библиотеку Ramda и столкнулся с некоторой проблемой.
Допустим, у нас есть функция, которая принимает строку и список строк в качестве аргументов и возвращает true, если данная строка находится в списке. В строке 4 я хочу записать первый элемент из otherList
, то есть , а не , включенный в list
.
const isInList = R.curry((name: string, list: string[]) => list.some(elem => elem === name))
const list = ['a', 'b', 'c']
const otherList = ['a', 'b', 'd', 'c']
console.log(otherList.find(!isInList(R.__, list)))
Я не могу найти функцию Ramda, которая обратила бы логический результатданная функция.
Если бы она существовала, она бы выглядела примерно так:
const not = (func: (...args: any) => boolean) => (...args: any) => !func(args)
Тогда моя цель может быть заархивирована как:
console.log(otherList.find(not(isInList(R.__, list)))
Работает ли таксуществует в Рамде?