我正在尝试实现这个有意义的功能
const getItem = (items, id) => items.find(item => item.id === id);
使用ramda.js进行无点样式。
当我使用这样的东西时:
const getItem = find(propEq('id'));
第一个参数items
将传递给find
函数,但我们将失去第二个id
参数。
问题是,如何以无点样式实现getItem
函数?
答案 0 :(得分:3)
如果您可以自由更改函数的参数顺序,useWith
是一个简单的解决方案:
const getItemById = R.useWith(
R.find,
[R.propEq('id')]
);
console.log(
getItemById(
'b',
[{ id: 'a' }, { id: 'b' }]
)
);
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.24.0/ramda.min.js"></script>