Dart リスト(配列)から数を指定して値を取得する

Dart リスト(配列)から数を指定して値を取得する

Dartで、リスト(配列)から数を指定して値を取得するコードを記述してます。「take」の引数に個数を指定して使用します。リストの要素数を超えた値を指定した場合は、全ての値が取得されます。また開始位置を指定して値を取得するには「skip」を使用します。

環境

  • OS windows11 home
  • Dart 2.18.4

数を指定して値を取得

数を指定して値を取得するには「 take 」を使用します。

リスト.take(数)

※Iterableが返ります

実際に、使用して取得してみます。

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

  print(list.take(2)); // (aaa, bbb)
  print(list.take(3)); // (aaa, bbb, ccc)

  print(list.take(2).runtimeType); // SubListIterable<String>
}

実行結果を見ると、指定した数だけ取得されていることが確認できます。

「0」や最大値を超えた値を超えた場合は、以下の結果となります。

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

  print(list.take(0)); // ()
  print(list.take(6)); // (aaa, bbb, ccc, ddd, eee)
}

空のリスト(配列)

空のリスト(配列)に使用すると、空の「Iterable」が返ります。

void main() {
  var list = [];

  print(list.take(2)); // ()
  print(list.take(3)); // ()
}

リスト(配列)に変換

リスト(配列)に変換する場合は「toList()」でリストに変換します。

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

  print(list.take(2).toList()); // [aaa, bbb]
  print(list.take(3).toList()); // [aaa, bbb, ccc]

  print(list.take(2).toList().runtimeType); // List<String>
}

開始位置を指定

開始位置を指定したい場合は「skip」を使用します。

リスト.skip(開始位置)

※Iterableが返ります

実際に使用してみます。

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

  print(list.skip(2)); // (ccc, ddd, eee)
  print(list.skip(3)); // (ddd, eee)

  print(list.skip(2).runtimeType); // SubListIterable<String>
}