【问题标题】:How to take an array input from a formfield in flutter?如何从颤动的表单域中获取数组输入?
【发布时间】:2020-09-12 15:47:58
【问题描述】:

我想在表单字段中输入一个类似[1,2,3,4,5]的数组,并使用该表单值作为bubblesort函数的参数对数组进行排序。如何在flutter中实现?

【问题讨论】:

  • 您可以尝试将其解析为 JSON

标签: flutter dart textformfield


【解决方案1】:

保持简单,只使用内置的 json 解析器。 像这样:

List<int> nbs = List<int>.from(json.decode('[1,2,3,4]'));

【讨论】:

    【解决方案2】:

    我们的字符串:

      final hi = "[1,2,3,4,5]";
    

    用于去除方括号的正则表达式:

      final regex = RegExp(r'([\[\]])');
    

    我们的字符串在用空替换后没有任何括号:

      final justNumbers = hi.replaceAll(regex, ''); // 1,2,3,4,5
    

    我们的字符串列表,用逗号分隔:

      List<String> strings = justNumbers.split(',');
    

    现在我们将字符串解析为整数(使用tryParse 以便它返回null 而不是抛出异常):

      List<int> numbers = strings.map((e) => int.tryParse(e)).toList();
    

    决赛

    void main() {
      final hi = "[1,2,3,4,5]";
      final regex = RegExp(r'([\[\]])');
      final justNumbers = hi.replaceAll(regex, '');
      List<String> strings = justNumbers.split(',');
      List<int> numbers = strings.map((e) => int.tryParse(e)).toList();
      print(numbers);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2015-09-05
      • 1970-01-01
      相关资源
      最近更新 更多