Javascript中的array.reverse()
方法究竟是如何工作的?它会遍历数组并交换每个元素吗?如果是这样,那么交换大小为n的数组需要花费O(n)的时间吗?
我问这个问题的原因是想知道array.reverse()
是否与以下方法相同:
for(var i = 0; i < a.length / 2; i++) {
var holder = a[i];
a[i] = a[a.length - 1 - i];
a[a.length - 1 - i] = holder;
}
注意:如果我发布的Javascript代码是错误的,抱歉,因为现在已经很晚了。
编辑: 已将a.length
更正为a.length / 2
。
a.length / 2
(a.length 除以 2 的整数除法)。 - xanatos