単純にforEach使ってindexを取得したい場合と、mapで配列操作しつつindexも取得したい場合のやり方メモ。
配列でforEach使ってindexを取得したい場合。
asMapを使えばよい。
class User {
final int id;
final String name;
const User({
required this.id,
required this.name,
});
}
List<User> users = [
User( id: 1, name: 'yamada' ),
User( id: 2, name: 'suzuki' ),
User( id: 3, name: 'hogehoge')
];
void main(){
users.asMap().forEach((index, user){
print('index: $index, id: ${user.id}, name: ${user.name}');
});
}
配列でmap操作しつつindexを取得したい場合。
entriesプロパティを使う。
class User {
final int id;
final String name;
const User({
required this.id,
required this.name,
});
}
List<User> users = [
User( id: 1, name: 'yamada' ),
User( id: 2, name: 'suzuki' ),
User( id: 3, name: 'hogehoge')
];
void main(){
users.asMap().entries.map((entry){
int index = entry.key;
User user = entry.value;
return '$index : ${user.name}${user.id}';
}).toList().forEach((val) => print(val));
}
てか。dartpadブログに埋め込むと便利やな。。
以上