問題:
に渡される文字列を考えてみましょう。反転した文字列を返す関数。 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 サイトの他の関連記事を参照してください。