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

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现点击隐藏

js实现点击隐藏

使用CSS类切换实现点击隐藏 通过添加或移除CSS类来控制元素的显示与隐藏。定义一个隐藏样式类如.hidden { display: none; },通过事件监听切换该类。 document.que…