javascript-在一行中编写嵌套过滤器
作者:互联网
假设这个
const someList = Immutable.fromJS([
{'id': 2, foo: 'puppet'},
{'id': 4, foo: 'kitten'}
]);
//Then I filter like so
const entry = someList.filter(elem => {
return elem.get('id') === 4
});
console.log(entry);
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js"></script>
这给我
{'id': 4, foo: 'kitten'}
如何编写过滤器函数,该条目等于小猫,无需附加行.
我试过了
const entry = someList.filter(elem => {
return elem.get('id') === 4
}).get('foo');
但没有运气.
解决方法:
您可以找到Array#find
而不是Array#filter
的商品.
使用find,您将获得第一个找到的谓词在其上返回true的元素.
const entry = someList.find(elem => elem.get('id') === 4).get('foo');
如果不确定要查找元素,则还需要一个默认对象.
const entry = (someList.find(elem => elem.get('id') === 4) || {}).get('foo');
标签:ecmascript-6,immutable-js,arrays,javascript,object 来源: https://codeday.me/bug/20191108/2005294.html