当前位置:首页 > JavaScript

js实现翻转

2026-04-06 12:05:14JavaScript

翻转数组

使用 Array.prototype.reverse() 方法可以原地翻转数组。该方法会改变原数组,并返回翻转后的数组。

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

如果需要保留原数组不变,可以先复制数组再翻转。

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

翻转字符串

字符串没有直接的翻转方法,可以先将字符串转为数组,翻转后再转回字符串。

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

手动实现翻转

可以通过循环手动实现翻转逻辑,适用于数组或字符串。

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

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

使用递归翻转

递归方法也可以实现翻转,但需要注意栈溢出的风险。

function reverseArrayRecursive(arr, result = []) {
  if (arr.length === 0) return result;
  return reverseArrayRecursive(arr.slice(0, -1), [...result, arr[arr.length - 1]]);
}

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

翻转对象属性

如果需要翻转对象的键值对,可以使用 Object.entries()reduce 方法。

js实现翻转

const obj = { a: 1, b: 2, c: 3 };
const reversedObj = Object.entries(obj).reduce((acc, [key, value]) => {
  acc[value] = key;
  return acc;
}, {});

console.log(reversedObj); // { '1': 'a', '2': 'b', '3': 'c' }

性能考虑

对于大型数组,reverse() 方法通常比手动实现的循环更快,因为它是原生方法。但在某些特定场景下,手动实现可能更灵活。

标签: js
分享给朋友:

相关文章

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…

js实现按钮点击

js实现按钮点击

实现按钮点击的JavaScript方法 HTML按钮元素 在HTML中创建按钮元素,为其添加id或class以便JavaScript选择: <button id="myButton">点…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…