当前位置:首页 > JavaScript

js手动实现reverse

2026-03-15 17:47:22JavaScript

手动实现 JavaScript 的 reverse 方法

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

js手动实现reverse

使用循环交换元素

通过循环遍历数组的前半部分,将元素与对称位置的元素交换:

js手动实现reverse

function reverseArray(arr) {
    for (let i = 0; i < Math.floor(arr.length / 2); i++) {
        const temp = arr[i];
        arr[i] = arr[arr.length - 1 - i];
        arr[arr.length - 1 - i] = temp;
    }
    return arr;
}

使用 reduce 方法

通过 reduce 从后向前构建新数组:

function reverseArray(arr) {
    return arr.reduce((acc, _, index) => {
        acc.push(arr[arr.length - 1 - index]);
        return acc;
    }, []);
}

使用递归

递归方式反转数组:

function reverseArray(arr, index = 0) {
    if (index >= Math.floor(arr.length / 2)) return arr;
    const temp = arr[index];
    arr[index] = arr[arr.length - 1 - index];
    arr[arr.length - 1 - index] = temp;
    return reverseArray(arr, index + 1);
}

注意事项

  • 上述方法均会修改原数组(除 reduce 的纯函数实现外)。
  • 若需保留原数组,可先复制数组再操作:
    function reverseArray(arr) {
        const copy = [...arr];
        for (let i = 0; i < Math.floor(copy.length / 2); i++) {
            [copy[i], copy[copy.length - 1 - i]] = [copy[copy.length - 1 - i], copy[i]];
        }
        return copy;
    }

标签: jsreverse
分享给朋友:

相关文章

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现抽奖

js实现抽奖

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

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…

js实现菜单

js实现菜单

实现基本HTML结构 使用HTML创建菜单的基本框架,通常包含<ul>和<li>元素。示例结构如下: <ul id="menu"> <li><…

js图片轮播的实现

js图片轮播的实现

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