如何在 JavaScript 中同时使用多个方法

Posted

技术标签:

【中文标题】如何在 JavaScript 中同时使用多个方法【英文标题】:How to use multiple methods in JavaScript at the same time 【发布时间】:2021-12-04 12:44:13 【问题描述】:

我有一个输入,您可以通过它的名称搜索特定课程,为此我使用过滤,还有includes()方法,我的问题是我需要同时应用三个方法,第一个方法是toLowerCase(),第二个是toUpperCase(),最后一个方法是trim()

GetMyCourses() 
  return this.courses.filter(value => 
    return value.title.toLowerCase().includes(this.result);
  );
,

如果你离开toLowerCase方法,那么它在搜索时不会给出大写名称,反之亦然,另外,如果你去掉这两个方法,那么在搜索时你需要准确搜索单词

【问题讨论】:

您可以使用数组some 来执行此操作,但在这里您当然不需要它。就像答案说的那样 使用正则表达式、.filter(value => new RegExp(search, "i").test(value.title))search 是您确保安全或根据某些逻辑构建的东西 playcode.io/823069 【参考方案1】:

也将this.result 转换为小写。

GetMyCourses() 
  let result = this.result.toLowerCase()
  return this.courses.filter(value => 
    return value.title.toLowerCase().includes(result);
  );
,

【讨论】:

或者只是value.title.toLowerCase().includes(this.result.toLowerCase())... @HereticMonkey 是的,但这会不必要地多次转换this.result 嗯。 99% 的时间不会有问题。如果你想进行微优化,你应该有一个已经小写的value.searchableTitle 属性... 我也喜欢这样做,只是为了让表达式不那么复杂。

以上是关于如何在 JavaScript 中同时使用多个方法的主要内容,如果未能解决你的问题,请参考以下文章

在javascript中同时播放多个声音

在网页设计中如何限制一个用户在多个地方同时登陆

JavaScript笔记

关于javascript,请问有多个function,如何同时运行其中两个function?

J-Query 打印机(jQuery.printElement)无法在 Opera 中打印多个页面

jQuery noConflict() 方法