在运行时使用javascript

在运行时使用javascript,javascript,concatenation,Javascript,Concatenation,如果我有两个数组,都有10000个项目,现在我想将它们合并到一个数组中,所以我使用concat: array1=array1.concat(array2); 但是有人知道什么是跑步时间吗?常数还是N?就速度而言,是否有更好的方式将它们合并。感谢您提供的提示。我怀疑ECMAScript规范对任何操作都有任何重大的性能要求,因此它将取决于实现。验证的唯一方法是编写基准测试并在目标解释器上运行它 也就是说,我猜大多数JavaScript解释器将数组实现为向量类型数组,而不是链表,因此在大多数引擎上

如果我有两个数组,都有10000个项目,现在我想将它们合并到一个数组中,所以我使用concat:

 array1=array1.concat(array2);

但是有人知道什么是跑步时间吗?常数还是N?就速度而言,是否有更好的方式将它们合并。感谢您提供的提示。

我怀疑ECMAScript规范对任何操作都有任何重大的性能要求,因此它将取决于实现。验证的唯一方法是编写基准测试并在目标解释器上运行它


也就是说,我猜大多数JavaScript解释器将数组实现为向量类型数组,而不是链表,因此在大多数引擎上concat操作可能是
O(n)

这有点让人困惑:“串联”和“合并”是处理列表的两件不同的事情。嗯..我想将两个数组合并为一个,但是我们在javascript中使用concat,对吗?@bingjie2680:我想区别在于“连接”意味着简单地将array2附加到array1,而“合并”可能意味着两个数组的项由一些逻辑(例如排序顺序)点缀。您可能只是想在这里连接。@maerics,是的,确切地说,顺序并不重要。如果您决定进行测试,这是为了测试脚本的性能。如果我想将两个数组作为链表,您是否知道我如何在这种情况下实现它。@bingjie2680您必须实现自己的链表表示。换句话说,没有办法告诉JavaScript运行时如何使其数组工作。