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