如何在lodash中过滤object ageist another object?但是条件对象是数组..
var form = { type: ['xyz', 'abc'], name: 'pre-1' }
var items = [
{ type: 'xyz', name: 'pre-1' },
{ type: 'abc', name: 'pre-1' },
{ type: 'xyz', name: 'pre-2' },
]
const results = lodash.filter(items, form);
结果
应该是xyz
和abc
:
results = [{ type: 'xyz', name: 'pre-1' }, { type: 'abc', name: 'pre-1' }]
我可以使用 filter
方法做些什么吗?
最佳答案
好吧,您可以在 lodash 中使用自定义过滤器方法。尝试以下:
var form = { type: ['xyz', 'abc'], name: 'pre-1' }
var items = [
{ type: 'xyz', name: 'pre-1' },
{ type: 'abc', name: 'pre-1' },
{ type: 'xyz', name: 'pre-2' },
]
let filtered = _.filter(items, (item)=>{
return form.type.indexOf(item.type) >= 0 && form.name == item.name
});
console.log(filtered);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
关于javascript - 如何在 lodash 中使用数组过滤条件来对抗对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56394721/