当前位置:首页 > JavaScript

翻转实现方式js

2026-04-04 13:40:14JavaScript

翻转数组的 JavaScript 实现方法

使用 Array.prototype.reverse() 方法

const arr = [1, 2, 3, 4];
const reversedArr = arr.reverse();
console.log(reversedArr); // [4, 3, 2, 1]

此方法会直接修改原数组,若需保留原数组,可先创建副本:

const reversedArr = [...arr].reverse();

手动实现翻转(循环遍历)

翻转实现方式js

function reverseArray(arr) {
    const result = [];
    for (let i = arr.length - 1; i >= 0; i--) {
        result.push(arr[i]);
    }
    return result;
}
const reversedArr = reverseArray([1, 2, 3]); // [3, 2, 1]

使用 reduce() 高阶函数

const reversedArr = [1, 2, 3].reduce((acc, cur) => [cur, ...acc], []);
console.log(reversedArr); // [3, 2, 1]

交换首尾元素(原地翻转)

翻转实现方式js

function reverseInPlace(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 arr = [1, 2, 3, 4];
reverseInPlace(arr); // arr 变为 [4, 3, 2, 1]

翻转字符串的实现方法

使用 split() + reverse() + join()

const str = "hello";
const reversedStr = str.split("").reverse().join("");
console.log(reversedStr); // "olleh"

手动遍历字符串

function reverseString(str) {
    let result = "";
    for (let i = str.length - 1; i >= 0; i--) {
        result += str[i];
    }
    return result;
}
reverseString("world"); // "dlrow"

使用扩展运算符与 reduce()

const reversedStr = [...'abc'].reduce((acc, char) => char + acc, '');
console.log(reversedStr); // "cba"

注意事项

  • 数组的 reverse() 方法会改变原数组,需注意是否需要保留原数组。
  • 字符串不可变,翻转操作需生成新字符串。
  • 手动实现的循环方法在性能敏感场景可能优于高阶函数。

标签: 方式js
分享给朋友:

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

vue拖拽实现方式

vue拖拽实现方式

Vue 拖拽实现方式 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 draggable 属性和相关事件(如 dragstart、dragend、dragover、…

js类实现

js类实现

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

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…