ホームページ >ウェブフロントエンド >jsチュートリアル >Unicode を正しく処理しながら、組み込み関数のみを使用して、JavaScript の文字列をインプレースで反転するにはどうすればよいですか?

Unicode を正しく処理しながら、組み込み関数のみを使用して、JavaScript の文字列をインプレースで反転するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 04:51:09252ブラウズ

How Can I Reverse a String in JavaScript In-Place Using Only Built-In Functions While Handling Unicode Correctly?

組み込み関数を使用して JavaScript で文字列をインプレースで反転する

問題:

に渡される文字列を考えてみましょう。反転した文字列を返す関数。 JavaScript で組み込み関数を使用し、.reverse() や .charAt() などのメソッドに依存せずにこれを実現するにはどうすればよいですか?

解決策:

Unicode 対応ソリューション:

単純な ASCII 文字を含む文字列の場合、次の関数組み込み関数を利用します:

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

ただし、マルチバイト文字 (UTF-16 など) を含む文字列の場合、このソリューションは無効な Unicode 文字列または歪んで見える文字列を返します。これに対処するには、次の代替アプローチを検討してください。

配列展開演算子の使用:

配列展開演算子は Unicode 対応であり、次の反転関数が可能です。

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

RegExp および Unicode での Split() の使用フラグ:

もう 1 つの Unicode 対応アプローチは、split() を正規表現で使用し、区切り文字として Unicode フラグ (u) を使用することです:

function reverse(s) {
  return s.split(/(?:)/u).reverse().join("");
}

以上がUnicode を正しく処理しながら、組み込み関数のみを使用して、JavaScript の文字列をインプレースで反転するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。