javascriptの基礎知識 -文字列と配列-

目次

この記事の目的

  • javascriptの関しての知識をまとめています.
  • 参考サイトの内容を要約あるいは抜粋,それらの解釈を中心に書いています.
  • 参考サイトの一部または全部が英語のためそれの翻訳を含んでいます.
  • コード上の明らかな間違いがありましたらコメントいただければ幸いです.
  • その1(javascriptの基礎知識,エラー処理,変数,数値変数の扱い)はこちら

文字列の基本

文字列の宣言と初期化

  • 文字列は数値と同じくletで宣言し,クオーテーションマークで囲って初期化する.
  • クオーテーションマークはシングル'',ダブル""どちらを使ってもよいが,混在させることはできない.
    let str1 = 'この豚の名前はとんかつです.'; //シングル
    let str2 = "この鶏の名前はがらあげです."; //ダブル
    let str3 = 'この魚の名前はさしみです."; //混在しているのでエラーになる
  • クオーテーションマークの内側に異なる種類のクオーテーションマークを含むことは可能.同じ種類のクオーテーションマークを含みたいときはエスケープシーケンス\(環境により¥)が必要
    let str1 = 'She said, "I sell seashells by the seashore"'; //シングルのなかにダブルで引用文を挿入
    let str2 = 'Can\'t Take My Eyes Off You'; //英語の縮約形記号`'`を文字列の終わりとして認識させないための処理

文字列同士の連結

  • 文字列同士は+で連結できる.
  • 数値と文字列を連結しようとすると数値は文字列に自動的に(暗黙のうちに)変換さる.
    let str1 = 'この豚の名前は';
    let str2 = 'です.';
    str1 + 'とんかつ' + str2; //間に引用文が入っていても可能.
    'フロントは' + 1 + '階にあります.' // 「1」は文字列扱い

文字列と数値の相互変換

  • 文字列→数値はNumber(文字列)
  • 数値→文字列は.toString()
    let str1 = '123';
    let num1 = 25;
    Number(str1);
    num1.toString();

テンプレート文字列(テンプレートリテラル

  • 文字列を扱う新しい構文で,結合や間への数値の埋め込みなどを簡単かつ柔軟に行える.
  • 文字列を扱う「書式」といったところ.
  • バッククオートで文字列の先頭と終点を囲むことにより表現できる.
  • 間に変数を埋め込む際は${変数}を使い,途中で改行したいときは\nを使う.
    message = `I got a score of ${myScore}\nHe got a score of ${hisScore}.`
  • 古いブラウザ(IE)を除き使えるので複雑な文字列を扱う際はぜひ活用すべき

参考サイト

文字列の基本

よく使う文字列メソッド

文字列操作

  • 文字列はオブジェクトとして宣言されるので,様々なメソッドを適用することができる.
    let str1 = 'godzilla';
    str1.length; // 長さは8文字なので「8」と表示される.
    str1[0]; // 0始まりなので最初の文字「g」と表示される.

よく使われるメソッド

  • ある文字列が存在するか探すindexOf()
    let str1 = 'yahoo.co.jp';
    str1.indexOf('.jp'); //9文字目なので「8」と表示.日本のドメインかどうか判定できる
  • 文字列の一部分を抽出するslice()
    let str2 = '東京都千代田区外神田';
    str2.slice(0,7); // 0番目から7文字を抽出するので「東京都千代田区」と表示.
    str.slice(3); // 3番目からの文字を抽出するので「千代田区外神田」と表示
  • 大文字,小文字を切り替えるtoLowerCase(),toUpperCase()
    let str3 = 'nAriTA InTERnatiOnaL airport';
    str3.toLowerCase(); // 「narita international airport」と表示
    str3.toUpperCase(); // 「NARITA INTERNATIONAL AIRPORT」と表示
  • 文字列の一部分を書き換えるreplace()
    let str4 = 'Narita International Airport';
    str4 = str4.replace('Narita','Kansai'); // 「Kansai International Airport」と表示

参考サイト

文字列メソッド

配列

配列の作成

  • 配列は[],を使い宣言,初期化する
    let array = ['東京','ニューヨーク','ロンドン'];
    array; //配列の内容を表示
    let sequence = [1,1,2,3,5,8,13]; // 数値ももちろん格納可能
    let mix = ['Mt. Fuji', 3776]; // 数値と文字列を混ぜてもよい

配列の各要素へのアクセス

  • 配列名[数字]とすることで配列の個別要素にアクセスできる.
  • 配列の長さは配列名.lengthで取得でき,ループで各要素に同じ処理を施したいときなどに使える.
    let sequence = [1,1,2,3,5,8,13];
    for (let i = 0; i < sequence.length; i++) {
    console.log(sequence[i]);
    }

配列と文字列の相互変換

  • 文字列変数を分割して配列に変換することができる.(excelのデータの分割と同じような処理)
    let myCities = '東京','ニューヨーク','ロンドン','パリ','北京';
    let myAarray = myCities.split(','); // 区切り文字「,」で分割
    myArray; //配列に変換された
  • 配列の各要素を結合して文字列にすることも可能.コンマ以外の区切り文字を指定することも可能
    let myNewString = myArray.join(',');
    myNewString;
  • toString()でも同様の操作はできるが,区切り文字の指定ができないなど,joinと比べ制限がある.
    let myCities = ['東京','ニューヨーク','ロンドン','パリ','北京'];
    myCities.toString();

既存の配列への要素の追加と削除

  • 末尾への要素の追加と削除はそれぞれpush()pop()
    let myCities = '東京','横浜','大阪';
    myCities.push('名古屋','札幌'); // 「大阪」の後に追加される
    myCities.pop(); // 「札幌」が削除される
  • 先頭への要素の追加と削除はそれぞれunshift()shift()
    let myCities = '横浜','大阪','名古屋','札幌';
    myCities.unshift('東京'); // 「横浜」の前に追加される
    myCities.shift(); // 「東京」が削除される

参考サイト

配列