JScript中的字符串连接?

时间:2011-08-30 21:59:51

标签: string wsh jscript

如何在JScript中使用分隔符连接一堆字符串?

(我正在寻找具有线性运行时间的解决方案。)

3 个答案:

答案 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循环+ =方法最接近线性。所以,我认为你必须决定你想要快速还是线性。我尝试的最慢的方法是最接近线性,但它仍然很慢。如果你要连接大量的字符串,那么你必须测试那个特定的情况,看看哪一个在线性或整体性能上都会获胜。