我有一个商店列表和一个 ID 列表:
var stores = [{id: '1', name: 'first store'}, {id: '2', name: 'second store'}, {id: '3', name: 'third store'}];
var ids = ['1', '2'];
我想获取与列表中的 id 匹配的商店名称:
["first store", "second store"]
这是我想出的:
var filterStoresById = R.intersectionWith(R.useWith(R.equals, R.view(R.lensProp('id'))));
var extractNames = R.map(R.view(R.lensProp('name')));
extractNames(filterStoresById(stores,ids));
我的目标是学习函数式编程概念,同时生成可以在现实生活中使用的代码,但我认为我的解决方案既不可读也不高性能(我正在迭代两次),所以可以对此进行哪些改进代码?