Javascript lodash:使用值数组筛选集合

Javascript lodash:使用值数组筛选集合,javascript,underscore.js,lodash,Javascript,Underscore.js,Lodash,我找到了这个解决方案: var collections = [ {name: 'somename1', desctiption: 'xyz'}, {name: 'somename', desctiption: 'ds'}, {name: 'somename', desctiption: 'rtrt'}, {name: 'somename2', desctiption: 'nhf'}, {name: 'somename1', desctipt

我找到了这个解决方案:

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结果与预期一致

我需要通过一个值数组进行查找:name=['somename1','somename2']