为了账号安全,请及时绑定邮箱和手机立即绑定

JS 对象数组根据多个条件过滤

JS 对象数组根据多个条件过滤

慕莱坞森 2019-02-27 16:15:40
比如有个 数组`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 filters = {  name: ['Lynn', 'Kevin'],  status: ['success']}`想要的结果是同时满足 name 是 Lynn或者Kevin 同时 status是success的数据 请问怎么写比较有效率 谢谢
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

let keys = Object.keys(filters)

let result = array.filter(item => {

  return keys.every(key => filters[key].indexOf(item[key]) !== -1)

})


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 3353 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信