当前位置:首页 > JavaScript

js实现反转

2026-02-01 22:51:06JavaScript

实现字符串反转的方法

使用JavaScript反转字符串可以通过多种方式实现。以下是几种常见的方法:

方法1:使用split()、reverse()和join()方法

const str = "hello";
const reversedStr = str.split('').reverse().join('');
console.log(reversedStr); // 输出 "olleh"

方法2:使用for循环

const str = "hello";
let reversedStr = '';
for (let i = str.length - 1; i >= 0; i--) {
  reversedStr += str[i];
}
console.log(reversedStr); // 输出 "olleh"

方法3:使用reduce()方法

js实现反转

const str = "hello";
const reversedStr = str.split('').reduce((acc, char) => char + acc, '');
console.log(reversedStr); // 输出 "olleh"

方法4:使用递归

function reverseString(str) {
  return str === '' ? '' : reverseString(str.substr(1)) + str[0];
}
const reversedStr = reverseString("hello");
console.log(reversedStr); // 输出 "olleh"

实现数组反转的方法

JavaScript中数组反转可以直接使用reverse()方法:

js实现反转

const arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // 输出 [5, 4, 3, 2, 1]

如果需要不改变原数组的反转,可以先创建副本:

const arr = [1, 2, 3, 4, 5];
const reversedArr = [...arr].reverse();
console.log(reversedArr); // 输出 [5, 4, 3, 2, 1]
console.log(arr); // 原数组不变 [1, 2, 3, 4, 5]

实现数字反转的方法

反转数字需要考虑正负数和前导零的情况:

function reverseNumber(num) {
  const reversed = parseInt(
    Math.abs(num).toString().split('').reverse().join('')
  ) * Math.sign(num);
  return reversed;
}

console.log(reverseNumber(123)); // 输出 321
console.log(reverseNumber(-456)); // 输出 -654
console.log(reverseNumber(1200)); // 输出 21

实现链表反转的方法

对于链表数据结构,反转操作需要改变节点指针方向:

class Node {
  constructor(value, next = null) {
    this.value = value;
    this.next = next;
  }
}

function reverseLinkedList(head) {
  let prev = null;
  let current = head;

  while (current) {
    const next = current.next;
    current.next = prev;
    prev = current;
    current = next;
  }

  return prev;
}

// 示例链表: 1 -> 2 -> 3 -> 4 -> 5
const list = new Node(1, new Node(2, new Node(3, new Node(4, new Node(5)))));
const reversedList = reverseLinkedList(list);
// 反转后链表: 5 -> 4 -> 3 -> 2 -> 1

以上方法涵盖了JavaScript中常见的反转操作,可以根据具体需求选择合适的方法。

标签: js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableElem…

js实现倒计时

js实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Jav…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…