当前位置:首页 > JavaScript

js实现逆序

2026-03-14 03:21:38JavaScript

实现数组逆序

使用 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]

递归实现逆序

递归取出最后一个元素并拼接:

js实现逆序

function recursiveReverse(arr) {
  return arr.length ? [...recursiveReverse(arr.slice(1)), arr[0]] : [];
}

标签: 逆序js
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…