Help us understand the problem. What is going on with this article?

文字列を反転させる

ある文字列 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
jamashita
大体毎週TypeScriptのハンズオン開いています。 ここに載せる記事の大半はそのときに他の生徒から出た疑問に対する私の解です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away