JS数组双指针案例-手写实现reverse方法

226 阅读1分钟

【摘要】

利用双指针,手写JS数组的reverse方法。

【思路】

  1. 设定两个指针 left right
  2. 第一个指针 start 从数组的第一个元素,向尾部前进
  3. 第二个指针 right 从数组的最后一个元素,向头部前进;
  4. 只要前者比后者小的时候进行更换即可;
const reverse = (arr) => {
  let left = 0;
  let right = arr.length - 1;
  while (left < right) {
    let temp = arr[left]
    arr[left] = arr[right]
    arr[right] = temp
    left++;
    right--;
  }
  return arr
}

const datArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const result = reverse(datArr)
console.log(result) // [10,9,8,7,6,5,4,3,2,1]