アルゴリズム ・ Chapter 6
【文字列】文字の並びを操る
記事 ・ 冒頭を無料公開中
2つ目のテーマは文字列です。「データ構造の教材で文字列?」と思うかもしれませんが、コーディングテストでの出題頻度は配列と並んでトップクラスです。そして都合のいいことに、文字列は配列とよく似た顔をしています。前の章の知識がかなり流用できるので、「同じところ」と「決定的に違うところ」を整理しながら進めます。
文字列は「文字の並び」。配列と似ている操作
文字列にも添字があり、lengthがあり、検索メソッドがあります。
const word = "typescript";
console.log(word[0]); // "t"(添字アクセス)
console.log(word.length); // 10
console.log(word.includes("script")); // true
console.log(word.indexOf("s")); // 4(最初に登場する位置)
console.log(word.slice(0, 4)); // "type"(添字0から4の手前まで)
console.log(word.at(-1)); // "t"(後ろから1番目)
配列で学んだ添字・at・includes・indexOf・sliceが、そのまま文字列でも動きます。「文字が並んだもの」として、配列と同じ感覚で位置や部分を扱えるわけです。
配列との決定的な違い。文字列は変更できない
では、配列と同じ感覚で「上書き」をするとどうなるか。
▶ 実行してみよう
実行すると書き換えができないはずです。これが文字列の最大の特徴です。文字列は、一度作ったら変更できません(この性質をイミュータブル、不変と呼びます)。配列は arr[0] = 99 で書き換えられましたが、文字列にそれはできない。では文字を変えたいときはどうするかというと、新しい文字列を作ります。
新しい文字列を作る
const word = "cat";
const changed = "b" + word.slice(1); // "b" + "at"
console.log(changed); // "bat"(新しい文字列)
console.log(word); // "cat"(元は変わらない)
このチャプターの続きは受講生限定です
本文の残り、図解・実行できるコードブロック・演習はプラン加入後に読めます。