![](/img/trans.png)
[英]How to filter collection with multiple conditions (strings and array of values) using lodash javascript
[英]lodash: Filter collection using array of values
我發現這個解決方案:
var collections = [
{name: 'somename1', desctiption: 'xyz'},
{name: 'somename', desctiption: 'ds'},
{name: 'somename', desctiption: 'rtrt'},
{name: 'somename2', desctiption: 'nhf'},
{name: 'somename1', desctiption: 'qwe'}
];
names = ['somename1', 'somename2']
_(collections)
.keyBy('name')
.at(names)
.value();
但結果只包含一個與somename1值,我怎么能得到與somename1所有值?
如果按所有值表示對象,那么
const values = collections.filter(e => ['somename1', 'somename2'].includes(e.name))
如果你的意思是描述,那么
const descriptions = values.map(e => e.description)
對於這種東西你不再需要lodash了。
您可以使用find方法獲取一個值
_.find(collections,{name : 'somename1'})
對於somename1的所有對象
_.pullAllWith(collections,{ name : 'somename1'})
Console.log結果如預期
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.