【发布时间】:2017-04-11 13:00:11
【问题描述】:
通过单个值很容易摆脱不匹配的对象属性,例如
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 方法可以提供帮助?
【问题讨论】:
-
你可以查看性别数组中的
indexOfobj.gender,像这样:let filtered = person.filter( obj => gender.indexOf(obj.gender) === -1); -
小心,
'female'.indexOf('male')是 2 -
let filtered = person.filter( obj => obj.gender === 'male' || (typeof obj.gender === 'object' && obj.gender.indexOf('male') !== -1));怎么样? -
@haipham23 是否可以不对字符串进行硬编码?假设我的列表是手机品牌列表,其中有 50 多个。
标签: javascript reactjs lodash