我找到了这个解决方案:
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 获取所有值?
答案 0 :(得分:9)
如果所有值都是对象,那么
const values = collections.filter(e => ['somename1', 'somename2'].includes(e.name))
如果您的意思是描述,那么
const descriptions = values.map(e => e.description)
对于这种东西,你不再需要lodash了。
答案 1 :(得分:0)
您可以使用find方法获取一个值
_.find(collections,{name : 'somename1'})
对于somename1的所有对象
_.pullAllWith(collections,{ name : 'somename1'})
Console.log结果符合预期