js 根据 数组条件 简单查询的方法临时保存
let array = [{ date: '2016-05-02', name: 'Ethan', status: 'success', total: '81' }, { date: '2016-05-04', name: 'Lynn', status: 'fail', tag: '50' }, { date: '2016-05-01', name: 'Kevin', status: 'success', tag: '20' } ]; let filterStatus = "success"; let filterNames = ['Lynn', 'Kevin']; let result = array.filter((a, i) => { return (a.status === filterStatus && filterNames.some(f => (f === a.name))) //filterNames.map-------------- // 0: // date: "2016-05-02" // name: "Ethan" // status: "success" // total: "81" // __proto__: Object // 1: // date: "2016-05-01" // name: "Kevin" // status: "success" // tag: "20" // map----- //filterNames.some ---weiyi // date: "2016-05-01" // name: "Kevin" // status: "success" // tag: "20"
方法2:
let keys = Object.keys(filters) let result = array.filter(item => { return keys.every(key => filters[key].indexOf(item[key]) !== -1) })
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步