当前位置:首页 > JavaScript

js用函数实现反转数组

2026-01-31 11:05:16JavaScript

使用函数反转数组的方法

方法1:使用 reverse() 方法

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

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

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

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

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:原地交换(双指针)

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

js用函数实现反转数组

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() 可能比遍历更高效。

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

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

相关文章

uniapp如何写全局函数

uniapp如何写全局函数

全局函数的定义与使用 在UniApp中定义全局函数可以通过挂载到Vue.prototype或使用模块化导出导入的方式实现。以下是两种常用方法: 方法一:挂载到Vue.prototype 在main.…

java如何定义数组

java如何定义数组

定义数组的基本语法 在Java中,数组可以通过以下两种方式定义: 方式一:声明数组并指定长度 数据类型[] 数组名 = new 数据类型[数组长度]; 例如: int[] numbers = n…

java如何声明数组

java如何声明数组

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

vue实现函数曲线

vue实现函数曲线

Vue 实现函数曲线的方法 在 Vue 中实现函数曲线通常需要结合 HTML5 的 Canvas 或 SVG 技术,以及 JavaScript 的数学计算能力。以下是几种常见的方法: 使用 Canv…

实现vue数组双向绑定

实现vue数组双向绑定

Vue 数组双向绑定的实现方法 Vue 通过数据劫持和发布-订阅模式实现数据的双向绑定,但直接修改数组的某些方法(如索引赋值)无法触发视图更新。以下是实现数组双向绑定的几种方法: 使用 Vue.se…

vue实现嵌套数组

vue实现嵌套数组

Vue 中实现嵌套数组的常见方法 在 Vue 中处理嵌套数组时,通常会结合 v-for 指令和响应式数据管理。以下是几种典型场景的实现方式: 基本嵌套渲染 使用多层 v-for 渲染嵌套数组结构:…