Vue JS按多个数组对象项过滤

时间:2019-09-11 16:20:28

标签: javascript vue.js vuejs2

我有一些代码根据搜索输入过滤对象数组,并根据NSNotificationCenter变量过滤对象。我希望能够基于此以及对象中的其他键进行搜索:

search

上面是我的代码,该代码基于import HelpGuides from '~/static/help/help-guide.json'; export default { head: { title: 'Help' }, data () { return { guides: HelpGuides, search: '' } }, computed: { filteredGuides: function() { return this.guides.filter(guide => { return guide.title.toLowerCase().includes(this.search.toLowerCase()) }) } } } 输入过滤title键,但是,每个对象都包含searchtitletagsbody是一个数组,而tags是一个字符串。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用||运算符来匹配其他键

filteredGuides: function() {
  return this.guides.filter(guide => {
    return guide.title.toLowerCase().includes(this.search.toLowerCase())
      || guide.body.toLowerCase().includes(this.search.toLowerCase())
  })
}

处理不同类型取决于对象结构。另外,请记住,您可以在另一个函数中提取||子句。