aknow2

自分の興味のある事を連々と(プログラミング、モバイルアプリ、プログラミング教育)

Dartのリスト操作

開発メモメモ。。

フィルタリング処理

['a', 'b', 'c'].where((word) => word == 'a'); // ['a']
['a', 'b', 'c'].removeWhere((word) => word == 'a'); // ['b', 'c']

N個のリストを作りたい

final lenOfList = 10;
List.generate(lenOfList, (index) => index); // List<int>

listからindexと値を扱いたい

['a', 'b', 'c']
 .asMap()
 .map((index, value) {
  print(index); // 0, 1, 2,
  print(value); // a, b, c
  return MapEntry(index, value+index.toString());
 })
 .values
 .toList(); // ['a0', 'b1', 'c2']

listからpopしたい(取り出し)

final index = 0;
final result = [1,2,3,4].removeAt(index);
print(result); // 1

flatmapをする場合.

final nestedList = [[1,2,3], [4,5,6], [7,8,9]];
final flattenList = nestedList.expand((list)=>list).toList(); 
print(flattenList); // [1,2,3, 4,5,6, 7,8,9]

参考:
https://stackoverflow.com/questions/15413248/how-to-flatten-a-list