【发布时间】:2011-01-08 03:54:14
【问题描述】:
在 JavaScript 中替换字符串中字符串/字符的所有实例的最快方法是什么?一个while,一个for-loop,一个正则表达式?
【问题讨论】:
-
while 和 for 循环都将使用简单的算法在 O(n) 中运行。不确定在这种情况下 Javascript 正则表达式引擎的时间复杂度是多少,但我的猜测是它已经优化到足以在 O(n) 中运行以进行简单的字符串匹配。
-
这对我来说似乎是微优化 - 性能分析是否显示字符串替换是程序中最慢的部分?
-
不,我没有对我的脚本进行性能分析,我只是确保我使用的是最快的可用函数。
-
我做了一个 JSPerf 比较全局正则表达式和一个 for 循环:jsperf.com/javascript-replace-all。如果我正确地编写了测试,看起来答案是“视情况而定”。
标签: javascript string replace