Flutter の勉強中にmap()
の扱いで詰まったのでメモ。
# Dart の map()はインデックスが取れない
Javascript だと以下のようにmap()
のコールバックの引数にインデックスが入ってくるのですが、Dart だとできないようです。
newArray = oldArray.map((item, index) {
return something;
})
1
2
3
2
3
Dart の場合はasMap()
で Map にしてから回すと良いようです。ただ、asMap().map()
だと返り値の型が変わってしまっているようでうまくtoList()
できなかったので、asMap().entries.map().toList()
が良さげっぽいです。
newList = oldList.asMap().entries.map((entry) {
var index = entry.key;
var item = entry.value;
return something;
}).toList();
1
2
3
4
5
2
3
4
5
Dart 初学者なのでミスってたらご指摘ください。
Prev
Flutter勉強始めました