|
|
1
3
我将在这里做一个相反的人,说你不会比正则表达式做得更好,我有基准来支持它。 我不会谈论lodash,lodash并没有做任何会大大改变性能特征的事情。 TL;博士
您可以通过交换
...这大概是你能做的最好的了。 基准我尝试了四种不同的方法:
你可以在这里看到我的基准:
https://jsperf.com/array-of-strings-prefix-search#10
. 请注意
我在Chrome 64(macOS 10.12)中运行了从1到500的句子长度基准测试。以下是结果:
毫不奇怪, toLowerCase()。开始使用 句子越长,情况越糟,因为每次都必须将整个句子小写。 同样地 切片()。toLowerCase相等 它在1到2之间下降后保持不变,因为不管发生什么,它只会小写一个单词。
然后是
后记每个基准都是有限的,我的也完全有可能在某些重要方面存在缺陷。我很乐意听到关于如何改进它的任何想法。 |
|
2
3
速度减慢肯定是由正则表达式引起的。尝试不使用它:
|
|
3
1
如果要检查字符串是否以术语开头(不区分大小写),可以使用lodash
尽管基准测试并不完美,但它可以让您了解一些答案的性能。
|
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |