List 任何人都可以创建/添加一个简单的;地图索引";颤振清单上的方法?

List 任何人都可以创建/添加一个简单的;地图索引";颤振清单上的方法?,list,dictionary,flutter,List,Dictionary,Flutter,基于对堆栈溢出的一些回答,我尝试为mapIndexed创建一个列表的“扩展”,即一个也传递索引的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); }); }

基于对堆栈溢出的一些回答,我尝试为mapIndexed创建一个列表的“扩展”,即一个也传递索引的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); });
  }

}
请尝试以下操作:

extension MapIndexed on Iterable {
    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); });
  }
}
您应该看到输出:

(1, 13, 25)
请尝试以下操作:

extension MapIndexed on Iterable {
    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); });
  }
}
您应该看到输出:

(1, 13, 25)
哦,好的,有一种语法叫做“颤振上的扩展”。让我查一查。请把你的评论作为回答,这样我就可以接受了。谢谢。哦,好的,所以有一个语法叫做flatter上的extension。让我查一查。请把你的评论作为回答,这样我就可以接受了。谢谢