js实现逆序
实现数组逆序
使用 reverse() 方法可以直接修改原数组,将其元素顺序反转:
const arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
不修改原数组的逆序实现
通过扩展运算符或 slice() 创建新数组后反转:

const original = [1, 2, 3];
const reversed = [...original].reverse();
console.log(reversed); // [3, 2, 1]
console.log(original); // [1, 2, 3](保持不变)
手动实现逆序算法
使用循环交换首尾元素直到中间位置:
function reverseArray(arr) {
const result = [...arr];
for (let i = 0, j = result.length - 1; i < j; i++, j--) {
[result[i], result[j]] = [result[j], result[i]];
}
return result;
}
字符串逆序实现
通过拆分为数组后反转再合并:

const str = "hello";
const reversedStr = str.split("").reverse().join("");
console.log(reversedStr); // "olleh"
使用reduce实现逆序
利用reduceRight从右向左构建新数组:
const arr = [1, 2, 3];
const reversed = arr.reduceRight((acc, cur) => [...acc, cur], []);
console.log(reversed); // [3, 2, 1]
递归实现逆序
递归取出最后一个元素并拼接:
function recursiveReverse(arr) {
return arr.length ? [...recursiveReverse(arr.slice(1)), arr[0]] : [];
}






