当前位置:首页 > JavaScript

js实现reverse

2026-02-01 05:27:22JavaScript

使用数组的 reverse 方法

JavaScript 数组原生提供了 reverse 方法,可以直接反转数组元素顺序。以下是示例代码:

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

需要注意的是,reverse 方法会直接修改原数组。如果需要保留原数组,可以先复制一份:

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]

手动实现数组反转

如果不使用内置方法,可以通过循环手动实现反转:

js实现reverse

function reverseArray(arr) {
  const result = [];
  for (let i = arr.length - 1; i >= 0; i--) {
    result.push(arr[i]);
  }
  return result;
}

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

原地反转数组

如果需要原地反转数组(不创建新数组),可以使用双指针方法:

function reverseArrayInPlace(arr) {
  let left = 0;
  let right = arr.length - 1;
  while (left < right) {
    [arr[left], arr[right]] = [arr[right], arr[left]];
    left++;
    right--;
  }
  return arr;
}

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

反转字符串

JavaScript 字符串没有 reverse 方法,可以通过以下方式反转:

js实现reverse

function reverseString(str) {
  return str.split('').reverse().join('');
}

const str = 'hello';
const reversedStr = reverseString(str);
console.log(reversedStr); // 输出: 'olleh'

或者使用扩展运算符:

function reverseString(str) {
  return [...str].reverse().join('');
}

使用递归反转数组

递归也可以实现数组反转:

function reverseArrayRecursive(arr, result = []) {
  if (arr.length === 0) return result;
  result.push(arr.pop());
  return reverseArrayRecursive(arr, result);
}

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

标签: jsreverse
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现分页

js实现分页

实现分页的基本思路 分页功能通常需要处理数据分割、页码生成和用户交互。核心逻辑包括计算总页数、根据当前页截取数据、渲染页码按钮等。 前端分页实现(静态数据) 假设已有全部数据,仅需前端分页展示:…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…