如何按多个标准过滤结果?

时间:2017-12-15 18:09:27

标签: javascript vue.js vuex

我的搜索过滤器目前仅通过' packageName'过滤结果。领域。现在我需要按' dateStart'过滤和' dateFinish'还有。

getters: {
  filteredPacks: (state, getters) => (search) => {
    return state.packs.filter(pack => {
      return pack.packageName.toLowerCase().indexOf(search) > -1
    })
  }
}

如何按多个字段/条件过滤结果?

1 个答案:

答案 0 :(得分:0)

这是一个答案:https://stackoverflow.com/a/31831801/532675。 更具体一点:

getters: {
  filteredPacks: (state, getters) => (term) => {
    return state.packs.filter(pack => {
      for(var key in term) {
        if(pack[key] === undefined || pack[key] != term[key])
        return false;
      }
      return true;
    })
    // or add more specific/straight 'if' checks
  }
}