通过单个值(例如
)很容易摆脱不匹配的对象属性
const person = [
{name:'james',gender:'male'},
{name:'john',gender:'male'},
{name:'chun li',gender:'female'}
]
const gender = ['male'];
let filtered = person.filter( obj => obj.gender === 'male');
console.log(filtered)

但如果性别存在,如['male', 'female']
,该怎么办?在这种情况下,有任何loadash方法可以帮助吗?
答案 0 :(得分:3)
过滤器的工作方式是简单地为它提供一个函数,该函数对于您想要保留的对象(docs)返回true。考虑到这一点,如果性别为male
或female
,您需要做的就是返回true。
let filtered = person.filter((entry) => {
return (entry.gender == 'male') || (entry.gender == 'female');
})
答案 1 :(得分:3)
const genders = ['male', 'female'];
let filtered = person.filter(obj => _.includes(genders, obj.gender));
答案 2 :(得分:0)
您也可以使用[] .indexOf获得所需的结果。
self.config['STATIC_FOLDER'] = value