如何在 JavaScript 中就地反转字符串?

新手上路,请多包涵

当不使用内置函数( .reverse().charAt() 等)将字符串传递给带有 return 语句的函数时,如何在 JavaScript 中就地反转字符串?

原文由 Jake 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 615
1 个回答

只要您处理的是简单的 ASCII 字符,并且乐于使用内置函数,这就可以工作:

 function reverse(s){
    return s.split("").reverse().join("");
}

如果您需要支持 UTF-16 或其他多字节字符的解决方案,请注意此函数将提供无效的 unicode 字符串或看起来很有趣的有效字符串。您可能想改为考虑 这个答案

[…s] 是 Unicode 感知的,一个小的编辑给出:-

 function reverse(s){
    return [...s].reverse().join("");
}

原文由 belacqua 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题