# String#reverse method

**URL:** <https://es.discourse.group/t/string-reverse-method/620>\
**Category:** 💡 Ideas\
**Tags:** proposal\
**Created:** [January 20, 2021, 4:57am UTC](https://es.discourse.group/t/string-reverse-method/620 "2021-01-20T04:57:22Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![NickGard](https://yyz2.discourse-cdn.com/free1/user_avatar/es.discourse.group/nickgard/32/419_2.png) [@NickGard](https://es.discourse.group/u/NickGard)\
**Post date:** [January 22, 2021, 3:19pm UTC](https://es.discourse.group/t/string-reverse-method/620/7 "2021-01-22T15:19:51Z")

</div>

I think this is a working method for reversing strings while respecting unicode characters:

```javascript
function badReverse(str) {
  return str.split('').reverse().join('');
}

function goodReverse(str) {
  let c = [];
  str.replace(/[\u{0000}-\u{10FFFF}]/gu, (char) => {
    c.unshift(char);
  });
  return c.join('');
}

console.log(badReverse('😉abc😱ḉ123是👶'));
// ��是321ḉ��cba��

console.log(goodReverse('😉abc😱ḉ123是👶'));
// 👶是321ḉ😱cba😉

```

---

_[View the full topic](https://es.discourse.group/t/string-reverse-method/620)._
