[英]Best way to check “begin with” substring in Javascript
str.indexOf(substr) == 0
str.slice(0, 10) == substr
以上哪两个更好? 有没有更好的方法?
第一个的性能取决于字符串str
的长度,因为它需要扫描整个字符串。 如果str
很大,则可能需要很长时间才能找到子字符串是否包含在其中。
如果您的输入字符串可能很大,则更喜欢第二个。
另一种选择是:
str.lastIndexOf(substr, 0) == 0
这样可以避免扫描整个字符串并避免创建临时字符串。
如果性能很重要,我建议您根据具体数据进行测量。
(非常)快速测试表明Chrome中的差异可能微不足道,但是使用indexOf
(至少对于短字符串),Firefox的速度要快得多。
在我的头顶,我会说使用:
str.indexOf(substr) == 0;
仅仅因为它不需要从第一个创建新的字符串。 需要进行性能测试。 可能因浏览器而异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.