当前位置:首页 > JavaScript

反转实现方式js

2026-02-03 06:12:13JavaScript

反转数组的 JavaScript 实现方法

使用 Array.prototype.reverse() 方法
这是最直接的方式,直接调用数组的 reverse() 方法会原地反转数组元素并返回反转后的数组。

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

使用 for 循环手动反转
通过遍历数组并将元素从后向前重新排列,可以手动实现反转。

const arr = [1, 2, 3, 4];
const reversedArr = [];
for (let i = arr.length - 1; i >= 0; i--) {
  reversedArr.push(arr[i]);
}
console.log(reversedArr); // [4, 3, 2, 1]

使用 reduce 方法
利用 reduce 从数组末尾开始累积元素,生成反转后的数组。

const arr = [1, 2, 3, 4];
const reversedArr = arr.reduce((acc, _, i, original) => {
  acc.push(original[original.length - 1 - i]);
  return acc;
}, []);
console.log(reversedArr); // [4, 3, 2, 1]

使用扩展运算符和 map
结合 map 和数组索引,生成反转后的新数组。

const arr = [1, 2, 3, 4];
const reversedArr = [...arr].map((_, i, array) => array[array.length - 1 - i]);
console.log(reversedArr); // [4, 3, 2, 1]

使用递归实现反转
通过递归逐层处理数组的首尾元素,最终完成反转。

function reverseArray([head, ...tail], acc = []) {
  if (tail.length === 0) return [head, ...acc];
  return reverseArray(tail, [head, ...acc]);
}
const arr = [1, 2, 3, 4];
console.log(reverseArray(arr)); // [4, 3, 2, 1]

反转字符串的 JavaScript 实现方法

使用 splitreversejoin
将字符串拆分为字符数组,反转后再合并为字符串。

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

使用 for...of 循环
遍历字符串并从前往后拼接字符,生成反转后的字符串。

const str = "hello";
let reversedStr = "";
for (const char of str) {
  reversedStr = char + reversedStr;
}
console.log(reversedStr); // "olleh"

使用 reduce 方法
通过 reduce 从字符串末尾开始累积字符。

const str = "hello";
const reversedStr = [...str].reduce((acc, char) => char + acc, "");
console.log(reversedStr); // "olleh"

使用递归实现字符串反转
递归处理字符串的首字符和剩余部分,逐步构建反转结果。

反转实现方式js

function reverseString(str) {
  return str === "" ? "" : reverseString(str.substr(1)) + str[0];
}
const str = "hello";
console.log(reverseString(str)); // "olleh"

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

相关文章

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…