我需要检查一些字符串是否包含另一个字符串(substring) 谁能告诉我哪一项表现得更快:
someString.includes(thisSubstring) or
someString.indexOf(thisSubstring) !== -1
这取决于浏览器?有没有更快的解决方案?
答案 0 :(得分:3)
indexOf
速度更快,但您可以轻松自行运行这些测试。
将来您可以使用以下模式来衡量执行时间:
var str1 = "nananananaananana Catman!";
var str2 = "Catman!";
var max = 10000000;
var t = new Date();
for(var i = 0; i < max; i++) {
str1.indexOf(str2) >= 0;
}
console.log("indexOf",new Date() - t);
t = new Date();
for(var i = 0; i < max; i++) {
str1.includes(str2);
}
console.log("includes",new Date() - t);
t = new Date();
for(var i = 0; i < max; i++) {
str1.indexOf(str2) >= 0;
}
console.log("indexOf",new Date() - t);
t = new Date();
for(var i = 0; i < max; i++) {
str1.includes(str2);
}
console.log("includes",new Date() - t);
&#13;