Extension
ちょいちょいmapをindex付きで使いたいことがあったので作りました。英語的にはEnumeratedMap
のほうが正しいんだろうか…。
forEach
のほうがメモリ食うけど高速かなと思いforEach
で書いてます。
extension IndexedMap<T, E> on List<T> {
List<E> indexedMap<E>(E Function(int index, T item) function) {
final list = <E>[];
asMap().forEach((index, element) {
list.add(function(index, element));
});
return list;
}
}
// example
final List<int> list = [1, 2, 3];
list.indexedMap((index, element) => index.toString() + element.toString());