無需彈出什麼......只是通過以相反的順序,讓您的新的一個現有的陣列迭代。
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