js手动实现reverse
手动实现 JavaScript 的 reverse 方法
JavaScript 的 reverse 方法用于反转数组的元素顺序。以下是手动实现 reverse 的几种方法:
方法 1:使用临时数组
创建一个新数组,按逆序填充原数组的元素:
function reverseArray(arr) {
const reversed = [];
for (let i = arr.length - 1; i >= 0; i--) {
reversed.push(arr[i]);
}
return reversed;
}
方法 2:原地反转(修改原数组)
通过交换数组的首尾元素实现原地反转:
function reverseArrayInPlace(arr) {
let left = 0;
let right = arr.length - 1;
while (left < right) {
[arr[left], arr[right]] = [arr[right], arr[left]];
left++;
right--;
}
return arr;
}
方法 3:使用 reduce
利用 reduce 方法从右向左构建新数组:

function reverseWithReduce(arr) {
return arr.reduce((acc, current) => [current, ...acc], []);
}
注意事项
- 方法 1 和方法 3 会返回新数组,不影响原数组。
- 方法 2 会直接修改原数组,与原生
reverse方法行为一致。 - 性能方面,方法 2(原地反转)通常最优,因为它避免了创建新数组的开销。






