翻转实现方式js
翻转数组的 JavaScript 实现方法
使用 Array.prototype.reverse() 方法
const arr = [1, 2, 3, 4];
const reversedArr = arr.reverse();
console.log(reversedArr); // [4, 3, 2, 1]
此方法会直接修改原数组,若需保留原数组,可先创建副本:
const reversedArr = [...arr].reverse();
手动实现翻转(循环遍历)

function reverseArray(arr) {
const result = [];
for (let i = arr.length - 1; i >= 0; i--) {
result.push(arr[i]);
}
return result;
}
const reversedArr = reverseArray([1, 2, 3]); // [3, 2, 1]
使用 reduce() 高阶函数
const reversedArr = [1, 2, 3].reduce((acc, cur) => [cur, ...acc], []);
console.log(reversedArr); // [3, 2, 1]
交换首尾元素(原地翻转)

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 arr = [1, 2, 3, 4];
reverseInPlace(arr); // arr 变为 [4, 3, 2, 1]
翻转字符串的实现方法
使用 split() + reverse() + join()
const str = "hello";
const reversedStr = str.split("").reverse().join("");
console.log(reversedStr); // "olleh"
手动遍历字符串
function reverseString(str) {
let result = "";
for (let i = str.length - 1; i >= 0; i--) {
result += str[i];
}
return result;
}
reverseString("world"); // "dlrow"
使用扩展运算符与 reduce()
const reversedStr = [...'abc'].reduce((acc, char) => char + acc, '');
console.log(reversedStr); // "cba"
注意事项
- 数组的
reverse()方法会改变原数组,需注意是否需要保留原数组。 - 字符串不可变,翻转操作需生成新字符串。
- 手动实现的循环方法在性能敏感场景可能优于高阶函数。






