【发布时间】:2020-04-23 19:25:00
【问题描述】:
根据 Stack Overflow 上的一些答案,我尝试为 mapIndexed 创建一个 List 的“扩展”,即一个也传递 index.html 的 map 函数。这是我得到的:
mixin MapIndexed on List {
Iterable<U> mapIndexed<T, U>(U Function(T e, int i) f) {
int i = 0;
return map<U>((it) { final t = i; i++; return f(it, t); });
}
}
问题是,我不知道怎么称呼它。我基于 iOS Swift 的扩展概念创建了这个。最终,我只想打电话给result = myList.mapIndexed((element, index) => doMapping);。我怎样才能正确地做到这一点?现在的方式,我能做的最接近的就是通过功能:
Iterable<U> mapIndexed<T, U>(List<T> list, U Function(T e, int i) f) {
int i = 0;
return list.map<U>((it) { final t = i; i++; return f(it, t); });
}
result = mapIndexed(list, (element, index) => doMapping);
【问题讨论】:
-
哦,好的,所以在 Flutter 上有 一个叫做 extension 的语法。让我检查一下。请发表您的评论作为答案,以便我接受。谢谢。
标签: list dictionary flutter