LoginSignup
4
0

More than 3 years have passed since last update.

文字列を反転させる

Last updated at Posted at 2020-07-14

ある文字列 str が与えられたとこに、その文字列をひっくり返す方法です。

実食

以下はJavaScript, TypeScriptでは鉄板の実装例です。

const inverse = (str: string): string => {
  return str.split('').reverse().join('');
};

解説

やっていることは以下です。

  1. string.split()
  2. array.reverse()
  3. array.join()

string.split()

この文字列を''つまり一文字ずつに分解します。戻り値はArray<string>です。

array.reverse()

この配列の順序を逆転させます。なおこのメソッドは破壊的🧟なメソッドなので気をつけてください。

const arr: Array<number> = [1, 2, 3];
const reversed: Array<number> = arr.reverse();

console.log(arr);
// [ 3, 2, 1 ]
console.log(reversed);
// [ 3, 2, 1 ]

array.join()

Array<string>を結合してstringにします。

応用

これを使えばその文章が回文かどうかも検証ができます。

const isPalindrome = (str: string): boolean => {
  return str === inverse(str);
}

しかしながら悲しいことに、これは文字列での比較のなので日本語のような同音ではあるものの文字が異なる言語の回文を判定することはできません。

const str: string = '竹藪焼けた';

console.log(inverse(str));
// たけ焼藪竹
console.log(isPalindrome(str));
// false
4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0