【问题标题】:filter a list of posts accepting lowerCase or Uppercase strings过滤接受小写或大写字符串的帖子列表
【发布时间】:2020-02-13 17:55:23
【问题描述】:

我打算按标题过滤帖子列表。

逻辑已经实现并且可以工作了。

还有待解决的问题是,不管字符串是大写还是小写,都允许过滤。

例如:包含Today这个词的字符串应该能够在输入中被小写过滤,即today

inputFilter:function(){
      var vm = this;
      return vm.posts.filter((post) => {
           return post.title.match(searchValue);
      });
 }

如何解决?

【问题讨论】:

  • 在我看来,这不是一个完全相同的副本,但这个问题可能会有所帮助:stackoverflow.com/questions/43627497/…
  • 也许将每个标题转换为小写:return post.title.toLowerCase().match(searchValue);
  • 谢谢梅格,我无法让它与该解决方案一起使用
  • 感谢 Pierre Said。这有帮助。我可以按小写字母过滤。但是如果我想按大写过滤它就不再起作用了。例如单词 Today: today 适用于您的解决方案,但 Today 不再适用。
  • 试试这样:return post.title.toLowerCase().match(searchValue.toLowerCase());

标签: vue.js quasar


【解决方案1】:

您可以使用 toUpperCase() 或 toLowerCase() javascript 函数:)

无论您使用哪个函数,请务必将其应用于匹配语句的两侧。否则,如果未转换的一侧包含大写和小写字符的混合,它将不匹配。

inputFilter:function() {
   var vm = this;
   return vm.posts.filter((post) => {
      return post.title.toUpperCase().match(searchValue.toUpperCase());
   });
}

inputFilter:function() {
   var vm = this;
   return vm.posts.filter((post) => {
      return post.title.toLowerCase().match(searchValue.toLowerCase());
   });
}

MDN Web Docs - String.prototype.toUpperCase()

MDN Web Docs - String.prototype.toLowerCase()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    相关资源
    最近更新 更多