List<String> checkLength(List<String> input) {
  if (input.length > 6) {
    var tempOutput = input;
    while (tempOutput.length > 6) {
      var difference = (tempOutput.length/6).round() + 1;
      for (int i = 0; i < tempOutput.length - 1; i + difference) {
        tempOutput.removeAt(i); //Removing the value from the list
      }
    }
    return tempOutput; //Return Updated list
  } else {
    return input;
  }
}

我正试图从临时列表中删除一些内容.为什么不起作用?我看不出它是如何被修复的,在我解决的其他问题中,我使用了类似的方法,并且成功了(甚至几乎完全相同)

请注意,我对Dart有点陌生,所以请原谅我这样的问题,但我想不出解决办法.

在DART链接中查找可用的代码

Code in Dart

推荐答案

通过将tempOutput初始化为,可以确保它不是固定长度的列表

var tempOutput = new List<String>.from(input);

从而声明tempOutputinput的可变副本.

仅供参考,看起来您的程序中还有另一个bug,因为您的for循环更新步骤是i + difference,但我认为您需要i += difference.

Dart相关问答推荐

我不明白在DART的`if()`语句中使用`case

Dart StreamController().stream 等于 == 但不相同

Flutter 如何移动文件

Flutter:可重新排序和动画的 ListView - 有什么 idea 吗?

如何修复 Flutter 中的Checking Dart SDK version... << was unexpected at this time错误?

使用 Google Dart 进行数据库查询?

Flutter 错误:The _ScaffoldLayout custom multichild layout delegate forgot to lay out the following child

在Flutter 中使用 import 'dart:html' - 我需要额外的依赖项吗?

Flutter 在 main 中读取共享首选项,然后决定哪个启动页面?

如何在 flutter 中对json进行字符串化

Flutter 示例中的流布局

Flutter: shared preferences

Flutter:出现键盘时背景图像正在挤压

Dart - 如何在每次测试之后或之前运行函数?

学习 Dart 好还是我必须使用基本的 javascript?

具有 Maps 的 Null 感知运算符

Dart MD5 字符串

如何将多个 Stream 合并为更高级别的 Stream?

你如何在 Dart 中创建一个 Stream?

在 Dart 中覆盖哈希码的好方法是什么?