当前位置:首页 > 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实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…