【发布时间】:2011-11-09 22:17:17
【问题描述】:
哪种方法更快?
数组连接:
var str_to_split = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
var myarray = str_to_split.split(",");
var output=myarray.join("");
字符串连接:
var str_to_split = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
var myarray = str_to_split.split(",");
var output = "";
for (var i = 0, len = myarray.length; i<len; i++){
output += myarray[i];
}
【问题讨论】:
-
取决于你想要什么。 String 方法稍微简单一些。 Array join 方式可能会快一些(你可以在 jsperf.com 上测试)。
-
for 循环到底是干什么用的?只是复制或您正在处理它。有更快的方法来复制数组。
-
epascarello,它们只是测试这两种方法的愚蠢示例
-
我记得几年前读过一些文章引用性能统计数据来证明数组方法比字符串连接更快,但即使在那时它也因浏览器而异。在我看来,每次下一代浏览器问世时,这些类型的性能都会发生逆转。
-
目前在 Chrome 53 和 Firefox 48 中,迭代速度比数组连接 (link) 快 1.5 倍以上
标签: javascript arrays performance join connection-string