EloquentJavascript:reverseArrayInPlace函数。这是一个可以接受的代码还是被认为是错误的逻辑?

时间:2017-09-03 06:38:06

标签: javascript arrays function reverse

练习要求创建一个函数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);

虽然它解决了所提出的问题,但我想确保我没有养成坏习惯,这是一个可以接受的解决方案。是否有更理想的方法来解决这个问题?

0 个答案:

没有答案