Dart 指定した値が見つかった最初のリスト(配列)の位置を取得する

Dart 指定した値が見つかった最初のリスト(配列)の位置を取得する

Dartで、指定した値が見つかった最初のリスト(配列)の位置を取得するコードを記述してます。「 indexOf 」に位置を取得したい値を指定することで取得できます。存在しない場合は決まった値「-1」が返ります。

環境

  • OS windows11 home
  • Dart 2.18.1

最初のリスト(配列)の位置を取得

最初のリスト(配列)の位置を取得するには「 indexOf 」を使用します。

リスト.indexOf(値)

※値が存在しない場合は「-1」が返ります

実際に使用して位置を取得してみます。

void main() {
  var list = ['aaa', 'bbb', 'ccc', 'bbb', 'ccc'];

  print(list.indexOf('aaa'));
  // 0

  print(list.indexOf('bbb'));
  // 1

  print(list.indexOf('ccc'));
  // 2

  print(list.indexOf('eee'));
  // -1
}

実行結果を見ると、インデックス番号が取得されていることが確認できます。

存在チェック

「indexOf」は、値が存在しなければ「-1」が変えるので、それを利用して値の存在チェックにも使用できます。

void main() {
  var list = ['aaa', 'bbb', 'ccc', 'bbb', 'ccc'];

  if(list.indexOf('abc') == -1){
    print('値は存在しません');
  }
}

最後に見つかった位置

逆に最後に見つかった位置を取得するには「lastIndexOf」を使用します

void main() {
  var list = ['aaa', 'bbb', 'ccc', 'bbb', 'ccc'];

  print(list.lastIndexOf('aaa'));
  // 0

  print(list.lastIndexOf('bbb'));
  // 3

  print(list.lastIndexOf('ccc'));
  // 4

  print(list.lastIndexOf('eee'));
  // -1
}