js用函数实现反转数组
使用函数实现数组反转
在JavaScript中,可以通过多种方式使用函数来实现数组反转。以下是几种常见的方法:
使用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]
手动实现反转
不使用内置方法,通过循环手动反转数组:
function reverseArrayManually(arr) {
let reversed = [];
for (let i = arr.length - 1; i >= 0; i--) {
reversed.push(arr[i]);
}
return reversed;
}
const original = ['a', 'b', 'c'];
const reversed = reverseArrayManually(original);
console.log(reversed); // ['c', 'b', 'a']
使用reduce()方法
利用数组的reduce方法实现反转:
function reverseWithReduce(arr) {
return arr.reduce((acc, current) => [current, ...acc], []);
}
const nums = [10, 20, 30];
const reversedNums = reverseWithReduce(nums);
console.log(reversedNums); // [30, 20, 10]
原地反转算法
不创建新数组,直接在原数组上进行元素交换:
function reverseInPlace(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 letters = ['x', 'y', 'z'];
reverseInPlace(letters);
console.log(letters); // ['z', 'y', 'x']
使用扩展运算符和slice
结合扩展运算符和slice方法实现反转:

function reverseWithSlice(arr) {
return [...arr].reverse();
}
const colors = ['red', 'green', 'blue'];
const reversedColors = reverseWithSlice(colors);
console.log(reversedColors); // ['blue', 'green', 'red']
每种方法各有特点:reverse()最简单但会修改原数组;手动实现和reduce方法会创建新数组;原地反转最节省内存但会改变原数组。根据实际需求选择合适的方法。






