javascript - Vue JS 按多个数组对象项进行过滤

标签 javascript vue.js vuejs2

我有一些代码可以根据搜索输入过滤对象数组,它根据 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 键,但是,每个对象都包含 title Tagsbodytags 是一个数组,body 是一个字符串。

我该如何去做呢?

最佳答案

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

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

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

关于javascript - Vue JS 按多个数组对象项进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57893227/

相关文章:

javascript - 在Vue模板槽中使用父槽变量

javascript - VueJS + 重力表单 API

javascript - 现在我们有 jQuery 等,是否需要学习用于 Web 开发的 JavaScript DOM 方法?

javascript - 使用 jQuery 从输入控件获取值

css - 不推荐使用 Vue 3::v-deep 作为组合器。使用::v-deep(<inner-selector>) 代替

vue.js - yarn 在后台服务

javascript - Vue.js 组件 img src 来自 prop?

javascript - 将多个键映射到 Javascript 哈希中的相同值

javascript - GoogleMaps addlistener zip 弹出窗口?

javascript - 无法读取未定义的属性 '$router'?