我通過Marijn Haverbeke雄辯的JavaScript演習工作的陣列和我工作的以下問題:能言善辯的JavaScript倒車到位的解釋
「寫一個函數reverseArrayInPlace修飾作爲參數給出的數組以扭轉其元素不要使用標準
reverse
方法」
給出的解決方案如下:
function reverseArrayInPlace(array) {
for (var i = 0; i < Math.floor(array.length/2); i++) {
var old = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = old;
}
return array;
}
給出的測試情況如下:
var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log(arrayValue);
// → [5, 4, 3, 2, 1]
我所知,這是使用數組作爲旋轉點的中點,但有人可以請給我一步步的解釋?
所有你需要知道的是['Math.floor()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor), [for'循環](https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Statements/for)和['array.length'](https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/Array/length),其餘部分就像一個僞代碼。順便說一句,你總是可以使用array中的['Array.prototype.reverse()'](https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)來顛倒數組。方法。 – Redu
可能的重複[如何在Java中反轉int數組?](http://stackoverflow.com/questions/2137755/how-do-i-reverse-an-int-array-in-java) – Jmills