【摘要】
利用双指针,手写JS数组的reverse方法。
【思路】
- 设定两个指针 left right
- 第一个指针 start 从数组的第一个元素,向尾部前进
- 第二个指针 right 从数组的最后一个元素,向头部前进;
- 只要前者比后者小的时候进行更换即可;
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]