【发布时间】:2020-01-21 23:50:14
【问题描述】:
我正在做一个涉及在 for 循环中连接字符串的练习题。我在这个网站上看到了一些关于旧相关问题的信息,但我想知道其他一些细节。我从(Cracking the Coding Interview)中得到练习题的书用 Java 给出了解决方案。这是代码的简化版本,只是为了说明问题:
for(int i = 0; i < str.length; i++){
string += str.charAt(i) + i;
}
这本书指出了这很慢,因为 Java 中的字符串连接在 O(n^2) 中运行。而解决这个问题的方法是在java中使用StringBuilder类。
但是,这在 Javascript 中如何工作?使用 "+=" 的字符串连接是否也可以在 O(n^2) 时间内工作?
【问题讨论】:
-
不,在每个(实际的)JavaScript 引擎中都可以在线性时间内工作。 2011 年的一些实现示例:stackoverflow.com/questions/7299010/…
标签: javascript arrays string performance