最常用方法是split、reverse、join三步链式调用;处理unicode需用扩展运算符或array.from;大字符串可用双指针原地交换;封装函数应校验类型并支持自动转字符串。

直接用 split、reverse 和 join 三步就能完成,这是最常用也最简洁的方法。
基础写法:链式调用三步法
字符串本身没有 reverse 方法,需先转成数组,再反转,最后拼回去:
- let str = "hello";
- let reversed = str.split('').reverse().join('');
- // 结果是 "olleh"
处理中文、emoji 等复杂字符
普通方法对部分 Unicode 字符(如 emoji 或组合字符)可能出错,因为 split('') 按 UTF-16 编码切分,会把一个 emoji 拆成多个码元。
一款AI工具,主要用于管理 OpenClaw 所使用的来自 OpenRouter 的免费 AI 模型。自动按质量对模型进行排序,配置回退机制以应对速率限制,并更新 opencla...,适合需要提升相关任务效率的用户。
- 推荐用扩展运算符:[...str].reverse().join('')
- 或使用
Array.from(str),它能正确识别 Unicode 字符 - 例如:[...'??'].reverse().join('') 得到完整倒序,而
'??'.split('').reverse().join('')可能乱序
不创建新数组的原地翻转(适合大字符串优化)
如果关注性能且字符串很长,可用双指针在字符数组中交换:
- 先用 Array.from(str) 获取正确字符数组
- 用两个索引从首尾向中间遍历并交换
- 最后 join('') 返回结果
封装成可复用函数
写成函数更便于多次调用,还可加类型判断:
- function reverseString(str) {
- if (typeof str !== 'string') return String(str);
- return [...str].reverse().join('');
- }
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










