无需弹出什么......只是通过以相反的顺序,让您的新的一个现有的阵列迭代。
function reverse(array){
var output = [];
for (var i = array.length - 1; i> -1; i--){
output.push(array[i]);
}
return output;
}
console.log(reverse([1,2,3,4,5,6,7]));
答案被接受后编辑。
在您的开场白帖子的评论中的链接使我测试我的方式VS接受的答案的方式。我很高兴地看到,我的方式,至少在我的情况下,每一次都变得更快。但幅度不大,但速度更快。
这里是我用来测试它(从Firefox开发便笺测试)的复制/粘贴:
function reverseMyWay(array){
var output = [];
for (var i = array.length - 1; i> -1; i--){
output.push(array[i]);
}
return output;
}
function reverseTheirWay(array) {
var output = [];
while (array.length) {
output.push(array.pop());
}
return output;
}
function JustDoIt(){
console.log("their way starts")
var startOf = new Date().getTime();
for(var p = 0; p < 10000; p++)
{
console.log(reverseTheirWay([7,6,5,4,3,2,1]))
}
var endOf = new Date().getTime();
console.log("ran for " + (endOf - startOf) + " ms");
console.log("their way ends")
}
function JustDoIMyWay(){
console.log("my way starts")
var startOf = new Date().getTime();
for(var p = 0; p < 10000; p++)
{
console.log(reverseMyWay([7,6,5,4,3,2,1]))
}
var endOf = new Date().getTime();
console.log("ran for " + (endOf - startOf) + " ms");
console.log("my way ends")
}
JustDoIt();
JustDoIMyWay();
你有什么想要告诉你? – happymacarts
这个问题有多少答案?其中没有一个提到逆转。 http://stackoverflow.com/questions/5276953/what-is-the-most-efficient-way-to-reverse-an-array-in-javascript有 – axlj
@axlj,“怎么会有这么多的答案... “因为有不止一种方式来剥皮猫,在这种情况下,也可以逆转猫。 – zzzzBov