当前位置:首页 > JavaScript

js手动实现reverse

2026-04-07 11:11:48JavaScript

手动实现 JavaScript 的 reverse 方法

JavaScript 的 reverse 方法用于反转数组的元素顺序。以下是手动实现 reverse 的几种方法:

方法 1:使用临时数组

创建一个新数组,按逆序填充原数组的元素:

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

方法 2:原地反转(修改原数组)

通过交换数组的首尾元素实现原地反转:

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;
}

方法 3:使用 reduce

利用 reduce 方法从右向左构建新数组:

js手动实现reverse

function reverseWithReduce(arr) {
  return arr.reduce((acc, current) => [current, ...acc], []);
}

注意事项

  • 方法 1 和方法 3 会返回新数组,不影响原数组。
  • 方法 2 会直接修改原数组,与原生 reverse 方法行为一致。
  • 性能方面,方法 2(原地反转)通常最优,因为它避免了创建新数组的开销。

标签: jsreverse
分享给朋友:

相关文章

js实现动画

js实现动画

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

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js 进度条的实现

js 进度条的实现

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

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…