Dartのfor文をList(リスト、配列)とMap(マップ、連想配列)に分けて書いていきます。
Listのfor文
書き方は大きく3パターンあります。
① 通常
List list = ['a', 'b', 'c', 'd'];
for (int i = 0; i < list.length; i++) {
print(list[i]);
}
② 拡張for文
List list = ['a', 'b', 'c', 'd'];
for (var item in list) {
print(item);
}
拡張for文でindexも同時に取得(indexed)
List list = ['a', 'b', 'c', 'd'];
for (var (index, item) in list.indexed) {
print("$index $item");
}
③ foreach文
List list = ['a', 'b', 'c', 'd'];
list.forEach((item) {
print(item);
});
// 省略して下記のようにも書ける。
list.forEach((item) => print(item));
// さらに省略することもできる。
list.forEach(print);
Mapのfor文
① 拡張for文(keyを取得)
map.keysでキーのリストにして拡張for文で取得します。
Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
for (var key in map.keys) {
print('$key : ${map[key]}');
}
② 拡張for文(valueを取得)
map.valuesで値のリストにして拡張for文で取得します。
Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
for (var value in map.values) {
print('$value');
}
③ foreach文(keyとvalueを取得)
Listと違ってMapではキーと値の2つをセットする必要があります。
Map map = {'apple': 'リンゴ', 'orange': 'オレンジ', 'banana': 'バナナ'};
map.forEach((var key, var value) {
print('$key : $value');
});
コメント