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']