我有一个如下的收藏
var航班= [{
编号:1
腿:[{
carrierName:“飞马座”
}]
},{
编号:2
腿:[{
carrierName:'SunExpress'
},{
carrierName:'SunExpress'
}]
},{
id:3,
腿:[{
carrierName:“飞马座”
},{
carrierName:'SunExpress'
}]
}]
我想过滤它,例如,carrierName ='Pegasus',那么我的结果是这样的
[{
编号:1
腿:[{
carrierName:“飞马座”
}]
},{
id:3,
腿:[{
carrierName:“飞马座”
},{
carrierName:'SunExpress'
}]
}]
最佳答案
只需检查飞行的某些航段是否包含carrierName
_.filter(flights, function(flight) {
return _.chain(flight)
.get('legs')
.map('carrierName')
.includes('Pegasus')
.value()
});
用于检查值的arr
_.filter(flights, function(flight) {
return _.chain(flight)
.get('legs')
.map('carrierName')
.thru(function(names) {
return _.every(valuesArr, function(val) { // _.some for OR, _.every for AND
return _.includes(names, val);
});
})
.value()
});