这是我的.ts代码
searchMultiple() {
console.log("clicked!!!!!!")
this.list = this.tripList;
let profileModal = this.modalCtrl.create(SearchModalPage);
profileModal.onDidDismiss(data => {
console.log(data);
if (data == null) {
console.log("inside if")
this.list = this.tripList;
// }
// if (data.origincity == null && data.destinationcity == null && data.airlines.name == null && data.first_name == null && data.travel_date == null) {
// this.list = this.tripList;
} else {
console.log("inside else")
this.list = this.list.filter((item) => {
if (data.origincity != null && data.destinationcity == null && data.airlines.name == null && data.first_name == null) {
return (
item.origincity.toLowerCase().indexOf(data.origincity.toLowerCase())) > -1;
}
if (data.origincity == null && data.destinationcity != null && data.airlines.name == null && data.first_name == null) {
return (
item.destinationcity.toLowerCase().indexOf(data.destinationcity.toLowerCase())) > -1;
}
if (data.origincity == null && data.destinationcity == null && data.airlines.name != null && data.first_name == null) {
return (
item.airlines.name.toLowerCase().indexOf(data.airlines.name.toLowerCase())) > -1;
}
if (data.origincity == null && data.destinationcity == null && data.airlines.name == null && data.first_name != null) {
return (
item.user_name.toLowerCase().indexOf(data.first_name.toLowerCase())) > -1;
}
if (data.origincity == null && data.destinationcity == null && data.airlines.name == null && data.first_name == null && data.travel_date != null) {
return (
isEqual(item.travel_date, data.travel_date)
)
}
if (data.origincity != null && data.destinationcity != null && data.airlines.name == null && data.first_name == null) {
return (
item.origincity.toLowerCase().indexOf(data.origincity.toLowerCase()) ||
item.destinationcity.toLowerCase().indexOf(data.destinationcity.toLowerCase())) > -1;
}
if (data.origincity != null && data.destinationcity != null && data.airlines.name != null && data.first_name == null) {
return (
item.origincity.toLowerCase().indexOf(data.origincity.toLowerCase()) ||
item.destinationcity.toLowerCase().indexOf(data.destinationcity.toLowerCase()) ||
item.airlines.name.toLowerCase().indexOf(data.airlines.name.toLowerCase())) > -1;
}
if (data.origincity != null && data.destinationcity != null && data.airlines.name != null && data.first_name != null) {
return (
item.origincity.toLowerCase().indexOf(data.origincity.toLowerCase()) ||
item.destinationcity.toLowerCase().indexOf(data.destinationcity.toLowerCase()) ||
item.airlines.name.toLowerCase().indexOf(data.airlines.name.toLowerCase()) ||
item.user_name.toLowerCase().indexOf(data.first_name.toLowerCase())) > -1;
}
});
}
});
profileModal.present();
}
我有一个过滤器页面作为模型,并且正在获取要过滤的值。 来自过滤器页面的给定值作为另一个数组。过滤器最简单或最简单的方法是什么?
这是我的过滤器数组: {航空公司:{名称:null,徽标:null}, 目的地:无, destinationcity:空, first_name:null, 产地:无, 来源:null, 旅行日期:2018年11月8日星期四00:00:00 GMT + 0530(印度标准时间), user_id:null}
选择任何值后,它将像:
{航空公司:{名称:null,徽标:null}, 目的地:无, destinationcity:空, first_name:null, 来源:“ BAH”, 来源:“巴林”, 旅行日期:2018年11月8日星期四00:00:00 GMT + 0530(印度标准时间), user_id:null}
我想用另一个像这样的数组来过滤该数组:
{航空公司:{name:“ Air India”,徽标:“ ../../ assets / imgs / airindia.png”}, 目的地:“ BAH”, destinationcity:“巴林”, 来源:“ AES”, 来源:“ Aalesund”, rewardamt:“₹450”, travel_date:“ 2019-01-13T04:57:52.584Z”, user_id:“ riya@gmail.com”, user_name:“ Riya”, _id:“ 5b48316f9fb78f16ec5cdc13”}
预先感谢.....