练习要求创建一个函数reverseArrayInPlace(),该函数接受现有数组并仅使用现有数组来反转其顺序。练习还建议我不能将反向方法用于数组。
var arrayValue = [1, 2, 3, 4, 5];
reverseArrayInPlace(arrayValue);
console.log(arrayValue);
// → [5, 4, 3, 2, 1]
这是我提出的解决方案:
var arrayValue = [1, 2, 3, 4, 5];
function reverseArrayInPlace(inputArray){
for (let i = inputArray.length - 2; i >= 0; i--){
inputArray.push(inputArray[i]);
}
inputArray.splice(0, inputArray.length / 2);
}
reverseArrayInPlace(arrayValue);
console.log(arrayValue);
虽然它解决了所提出的问题,但我想确保我没有养成坏习惯,这是一个可以接受的解决方案。是否有更理想的方法来解决这个问题?