js实现reserve
在JavaScript中实现数组反转可以通过多种方法完成,以下是几种常见的实现方式:
使用 reverse() 方法
JavaScript数组原生提供了reverse()方法,可以直接反转数组元素顺序:

const arr = [1, 2, 3, 4];
const reversed = arr.reverse();
console.log(reversed); // [4, 3, 2, 1]
手动实现反转
通过循环遍历数组,手动交换元素位置:
function reverseArray(arr) {
let left = 0;
let right = arr.length - 1;
while (left < right) {
[arr[left], arr[right]] = [arr[right], arr[left]];
left++;
right--;
}
return arr;
}
const arr = [1, 2, 3, 4];
console.log(reverseArray(arr)); // [4, 3, 2, 1]
使用 reduce() 方法
通过reduce()从右向左遍历数组,生成新数组:

const arr = [1, 2, 3, 4];
const reversed = arr.reduce((acc, curr) => [curr, ...acc], []);
console.log(reversed); // [4, 3, 2, 1]
使用 unshift() 方法
遍历原数组,通过unshift()将元素插入新数组的头部:
const arr = [1, 2, 3, 4];
const reversed = [];
arr.forEach(item => reversed.unshift(item));
console.log(reversed); // [4, 3, 2, 1]
使用扩展运算符和slice()
结合扩展运算符和slice()生成反转后的新数组:
const arr = [1, 2, 3, 4];
const reversed = [...arr].slice().reverse();
console.log(reversed); // [4, 3, 2, 1]
注意事项
- 原生
reverse()方法会修改原数组,若需保留原数组,需先拷贝(如[...arr].reverse())。 - 手动实现时注意边界条件(如空数组或单元素数组)。






