js用函数实现反转数组
使用函数反转数组的方法
方法1:使用 reverse() 方法
JavaScript 的数组原生提供了 reverse() 方法,可以直接反转数组。

function reverseArray(arr) {
return arr.reverse();
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]
方法2:手动实现反转(遍历交换)
通过遍历数组并交换元素位置实现反转,适用于需要自定义逻辑的场景。

function reverseArray(arr) {
const reversed = [];
for (let i = arr.length - 1; i >= 0; i--) {
reversed.push(arr[i]);
}
return reversed;
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]
方法3:使用 reduce() 方法
利用 reduce() 从右向左累加数组元素,生成反转后的数组。
function reverseArray(arr) {
return arr.reduce((acc, current) => [current, ...acc], []);
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]
方法4:原地交换(双指针)
通过双指针在数组内部交换元素,节省空间复杂度。
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 originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]
注意事项
reverse()会修改原数组:若需保留原数组,需先拷贝(如[...arr].reverse())。- 性能考虑:大数据量时,双指针或
reduce()可能比遍历更高效。
根据需求选择合适的方法即可。






