当前位置:首页 > JavaScript

js手动实现reverse

2026-03-15 17:47:22JavaScript

手动实现 JavaScript 的 reverse 方法

JavaScript 的 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;
    }, []);
}

使用递归

递归方式反转数组:

js手动实现reverse

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实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…