我可以过滤:
let users = [{'name': 'john', 'age': '20'},{'name': 'jeff', 'age': '2'}
_.filter(users, { 'name': 'john', 'age': '20');
以上将获得用户john,但是如何为每个数组指定多个选项?
例如,我想让20岁的人称为john和jeff,如:
_.filter(users, { 'name': 'john' | 'jeff', 'age': '20');
我怎么能用lodash做到这一点?
答案 0 :(得分:3)
您可以使用函数作为第二个参数:
@Component({
selector: 'custom-comp',
templateUrl: '<div class='child1'></div><div class='child2'></div>',
styleUrls: ['./custom-comp.component.scss']
})
@Component({
selector: 'comp',
templateUrl: '<#custom-comp custom-comp></custom-comp>',
styleUrls: ['./custom-comp.component.scss']
})
@ViewChild('custom-comp') custom-comp: ElementRef;
ngOnInit(){
console.log(this.custom-comp.nativeElement.children);
}
答案 1 :(得分:1)
var arr = ['barney','fred']
_.filter(users, (user) => {
// You can put the required conditions here.
return arr.indexOf(user.user) >=0 && user.age > '20';
});
这是一种可以指定任何条件的方法。由于您有必需的名称数组,因此您可以为多个名称执行此操作,并且您可以对年龄进行相同的操作。
答案 2 :(得分:0)
另一个灵活的解决方案,只需添加条件:
const res = _.filter(users, ({ name, age }) => _.every([
_.includes(['john', 'jeff'], name),
_.includes(['20'], age)
]));