js实现翻转
实现数组翻转
使用 reverse() 方法可以直接翻转数组。该方法会改变原数组的顺序。
const arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // 输出: [5, 4, 3, 2, 1]
手动实现数组翻转
通过遍历数组的一半并交换元素位置,可以手动实现翻转。
function reverseArray(arr) {
for (let i = 0; i < arr.length / 2; i++) {
const temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
return arr;
}
const arr = [1, 2, 3, 4, 5];
console.log(reverseArray(arr)); // 输出: [5, 4, 3, 2, 1]
字符串翻转
字符串可以通过拆分为数组、翻转后再拼接的方式实现翻转。

const str = "hello";
const reversedStr = str.split('').reverse().join('');
console.log(reversedStr); // 输出: "olleh"
手动实现字符串翻转
通过遍历字符串的字符并反向拼接,可以手动实现翻转。
function reverseString(str) {
let reversed = '';
for (let i = str.length - 1; i >= 0; i--) {
reversed += str[i];
}
return reversed;
}
const str = "hello";
console.log(reverseString(str)); // 输出: "olleh"
使用递归翻转字符串
递归方法可以逐步将字符串的头部字符移到末尾。

function reverseStringRecursive(str) {
if (str === '') return '';
return reverseStringRecursive(str.substr(1)) + str[0];
}
const str = "hello";
console.log(reverseStringRecursive(str)); // 输出: "olleh"
数字翻转
将数字转换为字符串后翻转,再转换回数字。
function reverseNumber(num) {
const reversedStr = num.toString().split('').reverse().join('');
return parseInt(reversedStr, 10);
}
const num = 12345;
console.log(reverseNumber(num)); // 输出: 54321
处理负数数字翻转
负数翻转时需要保留符号。
function reverseNumberWithSign(num) {
const reversedStr = Math.abs(num).toString().split('').reverse().join('');
return parseInt(reversedStr, 10) * Math.sign(num);
}
const num = -12345;
console.log(reverseNumberWithSign(num)); // 输出: -54321






