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

Posted

技术标签:

【中文标题】Vue JS按多个数组对象项过滤【英文标题】:Vue JS filter by multiple array object items 【发布时间】:2020-01-13 12:51:06 【问题描述】:

我有一些代码可以根据搜索输入过滤对象数组,它根据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())
      )
    

  

上面是我的代码,它根据search输入过滤title键,然而,每个对象包含titletagsbodytags是一个数组,@987654329 @ 是一个字符串。

我该怎么做呢?

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于Vue JS按多个数组对象项过滤的主要内容,如果未能解决你的问题,请参考以下文章

过滤的对象数组,nuxt,vue js

如何在Vue中对对象数组进行排序和过滤

Angular.js ng-repeat 按具有多个值之一(或值)的属性过滤

在Javascript中按多个条件过滤数组

过滤数组并匹配至少一个条件

使用json和Vue js单击按钮时按数据字段过滤数据