*当ブログではアフェリエイト広告を利用しています。

GAS

【GAS】文字列・配列検索をするindexOf()、lastIndexOf()

momeq
モー
モー

GASで文字列や配列から検索を行うときは、indexOf()やlastIndexOf()を使います。

ニャー
ニャー

indexOf()は要素の前から、lastIndexOf()は要素の後ろから検索するんだにゃ。この検索する機能はプログラミングをしていると必須に近い機能だにゃ。是非覚えてほしいんだにゃ。

基本的な使い方

モー
モー

使い方は簡単!検索対象となる文字列や配列に対し、.(ドット)でindexOfかlastIndexOfをつなげるだけです。

検索対象.indexOf( 検索したい文字, [検索開始位置] );

検索対象.lastIndexOf( 検索したい文字, [検索開始位置] );

<特徴>

  • 検索対象は文字列または配列
  • 検索開始位置は省略可能
  • 戻り値は、最初に見つかったインデックス(1番目は「0」、2番目は「1」が返される。0から始まることに注意)
  • 見つからなかった場合は「−1」が返される。エラーにはなりません。
検索対象.indexOf( 検索したい文字, [検索開始位置] );
検索対象.lastIndexOf( 検索したい文字, [検索開始位置] );

検索対象.indexOf( 検索したい文字, [検索開始位置] );

検索対象.lastIndexOf( 検索したい文字, [検索開始位置] );

  • 検索対象は文字列または配列
  • 検索開始位置は省略可能
  • 戻り値は、最初に見つかったインデックス(1番目は「0」、2番目は「1」が返される。0から始まることに注意)
  • 見つからなかった場合は「−1」が返される。エラーにはなりません。
モー
モー

返されるインデックスは0からスタートするんだにゃ。見つからなかった場合は−1になることを利用すると、幅が広がるんだにゃ。

実際のコード

モー
モー

実際のコードを書いておきますね。使い方の参考にしていただければと思います。

基本的な使い方

function myFunction() {
  const str = "あいうえおあいうえおあいうえおあいうえお";
  console.log(str.indexOf("い"));
  console.log(str.lastIndexOf("い"));
  console.log(str.lastIndexOf("か"));
}
>> 1  // indexOfの場合
>> 16 // lastIndexOfの場合
>> -1  // 見つからなかった場合
function myFunction() {
  const drinks = ['milk', 'cola', 'tea', 'coffee', 'tea'];
  console.log(drinks.indexOf('tea'));
  console.log(drinks.lastIndexOf('tea'));
  console.log(drinks.lastIndexOf('water'));
}
>> 2  // indexOfの場合
>> 4  // lastIndexOfの場合
>> -1 // 見つからなかった場合

応用編(検索対象から全ての対象を探し出す場合)

function myFunction() {
  const str = "あいうえおあいうえおあいうえおあいうえお";
  let start = 0;
  let s = "う";
  start = str.indexOf(s, start);
  do{
    console.log(start);
    start = str.indexOf(s, start + 1);
  }while(start != -1);
}
>> 2
>> 7
>> 12
>> 17
function myFunction() {
  const drinks = ['milk', 'cola', 'tea', 'coffee', 'tea'];
  let start = 0;
  let s = "tea";
  start = drinks.indexOf(s, start);
  do{
    console.log(start);
    start = drinks.indexOf(s, start + 1);
  }while(start != -1);
}
>> 2
>> 4

プログラミングを学ぶならTechAcademy(テックアカデミー)がおすすめ!

TechAcademy [テックアカデミー]

モー
モー

独学で苦戦している人は、一度しっかりと基礎を学ぶと次のステップへ進めますよ。今のおすすめは、TechAcademy(テックアカデミー)ですね。

TechAcademyのおすすめポイント
  • オンラインで選抜された現役エンジニアから学ぶことができる
  • 自宅からWeb制作・プログラミング・アプリ開発など幅広い分野を学べる
  • 学ぶだけではなく、転職の支援、副業に活かせるスキルの習得、副業の仕事紹介まで行っている
ニャー
ニャー

無料体験や相談もあるから、一度試してみてもいいんだにゃ!

\無料体験、無料相談はこちらから/



記事URLをコピーしました