首页 > 解决方案 > 颤振:遍历列表

问题描述

我正在尝试遍历颜色列表。当循环到达末尾时,我希望它重新启动或转到列表的开头。有人可以帮助我吗?我是 Dart 的新手并且会颤抖。非常感激!!!提前致谢。

List<Color> color = ['Red', 'yellow', 'pink', 'blue'];

所以当它变成 blue 时,我希望它回到 Red 是可能的。请帮忙。

标签: flutterdart

解决方案


作为一个选项:

void main() {
  List<String> color = ['Red', 'yellow', 'pink', 'blue'];

  for (int i = 0; i < 10; i++) {
    print(color[i % color.length]);
  }
}

或者您可以像这样为 List 编写扩展名:

void main() {
  List<String> color = ['Red', 'yellow', 'pink', 'blue'];

  for (int i = 0; i < 10; i++) {
    print(color.getElement(i));
  }
}

extension EndlessElements<T> on List<T> {
  T getElement(int index) {
    return this[index >= this.length ? index % this.length : index];
  }
}

推荐阅读