当前位置:首页 > JavaScript

js用函数实现反转数组

2026-01-31 11:05:16JavaScript

使用函数反转数组的方法

方法1:使用 reverse() 方法

JavaScript 的数组原生提供了 reverse() 方法,可以直接反转数组。

js用函数实现反转数组

function reverseArray(arr) {
    return arr.reverse();
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]

方法2:手动实现反转(遍历交换)

通过遍历数组并交换元素位置实现反转,适用于需要自定义逻辑的场景。

js用函数实现反转数组

function reverseArray(arr) {
    const reversed = [];
    for (let i = arr.length - 1; i >= 0; i--) {
        reversed.push(arr[i]);
    }
    return reversed;
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]

方法3:使用 reduce() 方法

利用 reduce() 从右向左累加数组元素,生成反转后的数组。

function reverseArray(arr) {
    return arr.reduce((acc, current) => [current, ...acc], []);
}
const originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]

方法4:原地交换(双指针)

通过双指针在数组内部交换元素,节省空间复杂度。

function reverseArray(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 originalArray = [1, 2, 3, 4];
const reversedArray = reverseArray(originalArray);
console.log(reversedArray); // [4, 3, 2, 1]

注意事项

  • reverse() 会修改原数组:若需保留原数组,需先拷贝(如 [...arr].reverse())。
  • 性能考虑:大数据量时,双指针或 reduce() 可能比遍历更高效。

根据需求选择合适的方法即可。

标签: 数组函数
分享给朋友:

相关文章

java如何创建数组

java如何创建数组

创建数组的基本方法 在Java中,数组是固定大小的同类型元素集合。创建数组需要声明数组类型并初始化。 声明数组 语法格式为 数据类型[] 数组名 或 数据类型 数组名[]: int[] arr…

java中如何定义数组

java中如何定义数组

定义数组的基本语法 在Java中,数组是固定长度的同类型数据集合。定义数组需指定数据类型和数组名称,可通过两种方式声明: 数据类型[] 数组名;数据类型 数组名[]; 推荐使用第一种方式,更符合J…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…

java如何声明数组

java如何声明数组

声明数组的基本语法 在Java中,数组的声明需要指定数据类型和数组名称,并可通过以下两种方式完成: 数据类型[] 数组名(推荐) int[] numbers; String[] names…

vue防抖函数实现

vue防抖函数实现

防抖函数原理 防抖(Debounce)是一种限制函数频繁调用的技术,在事件被触发后延迟执行,若在延迟时间内再次触发,则重新计时。适用于输入框搜索、窗口大小调整等场景。 Vue 中实现防抖的三种方式…

vue组件实现函数调用

vue组件实现函数调用

实现 Vue 组件函数调用的方法 在 Vue 组件中实现函数调用可以通过多种方式完成,以下是常见的几种方法: 通过 methods 定义并调用函数 在 Vue 组件的 methods 选项中定…