js实现reverse
JavaScript 数组反转方法
在 JavaScript 中,反转数组可以通过多种方式实现,以下是几种常见的方法:
使用 Array.prototype.reverse() 方法
const arr = [1, 2, 3, 4];
const reversedArr = arr.reverse();
console.log(reversedArr); // [4, 3, 2, 1]
该方法会直接修改原数组,返回反转后的数组。
手动实现反转(不修改原数组)
function reverseArray(arr) {
const newArr = [];
for (let i = arr.length - 1; i >= 0; i--) {
newArr.push(arr[i]);
}
return newArr;
}
const arr = [1, 2, 3, 4];
const reversedArr = reverseArray(arr);
console.log(reversedArr); // [4, 3, 2, 1]
使用 reduce 方法
const arr = [1, 2, 3, 4];
const reversedArr = arr.reduce((acc, curr) => [curr, ...acc], []);
console.log(reversedArr); // [4, 3, 2, 1]
使用扩展运算符和 map
const arr = [1, 2, 3, 4];
const reversedArr = [...arr].map(arr.pop, [...arr]);
console.log(reversedArr); // [4, 3, 2, 1]
字符串反转方法
如果需要反转字符串,可以先将字符串转换为数组,反转后再转回字符串:

const str = "hello";
const reversedStr = str.split("").reverse().join("");
console.log(reversedStr); // "olleh"
注意事项
Array.prototype.reverse()会直接修改原数组,如果不希望修改原数组,可以先复制数组再进行反转。- 手动实现反转的方法适用于对性能有特殊要求的场景,但通常
reverse()方法已经足够高效。 - 字符串反转需要先转换为数组,因为字符串在 JavaScript 中是不可变的。






