如何在JScript中使用分隔符连接一堆字符串?
(我正在寻找具有线性运行时间的解决方案。)
答案 0 :(得分:6)
与join()
方法一样? = d
var elements = ["1", "2", "3"];
var joinedString = elements.join(',');
答案 1 :(得分:3)
像这样:
['a', 'b', 'c'].join(',');
但是,对于少量字符串,+
运算符也可以正常运行(根据具体情况可能会做得更好)。这是一个很好的article比较两种方法。
怀疑论者的jsperf页面。
答案 2 :(得分:2)
您可以在阵列上使用连接。
var strArray = [
"test1",
"test2",
"test3"
];
var output = strArray.join(", ");
这里有几个不同方法的jsperf测试:http://jsperf.com/joining-strings。加入绝对是我尝试过的方式中最快的,至少3倍(在Chrome中)。
您必须自己尝试使用jsperf和/或更改它以准确模拟您关心的内容。令我惊讶的是,Firefox 6和Safari 5比使用.join()
更快地添加一堆字符串。
您说您正在寻找linear
运行时间的解决方案。我认为这意味着当你将字符串数量加倍时,性能不会比双倍差。这意味着你必须测试一堆不同的情况,看看哪种技术最接近线性性能。 first jsperf连接了9个字符串,它们之间有分隔符。所以,我写了一个second jsperf,它将18个字符串与它们之间的分隔符连接在一起。这些技术在Chrome中都不是非常线性的。奇怪的是,总体上最慢的for循环+ =方法最接近线性。所以,我认为你必须决定你想要快速还是线性。我尝试的最慢的方法是最接近线性,但它仍然很慢。如果你要连接大量的字符串,那么你必须测试那个特定的情况,看看哪一个在线性或整体性能上都会获胜。