我有一个列表,其中包含以下项目:
[{name:...}, {name:...}], ...
我只想提取那些名称与一组正则表达式中的任何一个匹配的元素。
我能够这样做:
const cards = yield ... //Network request to get my list of items
const matchers = [/^Remaining Space:/, /^Remaining Weight:/, /^Gross:/];
const propTester = (prop, pred) => R.pipe(R.prop(prop), R.test(pred));
const extractors = R.ap([propTester('name')], matchers);
const [ spaceCard, weightCard, grossCard ] =
R.ap(R.ap([R.find], extractors), [cards]);
有什么办法可以简化吗?