Dart 如何在flatter中拆分列表

Dart 如何在flatter中拆分列表,dart,Dart,我有一个list1:var list1=[a:1,b:2,c:3] 我如何基于清单1创建清单2,如下:[a,b,c] 我想我必须使用split和forEach,但我不知道如何组合它也许这对你有用,只要你总是有相同的字符串长度 List<String> list1 = ["a:1", "b:2", "c:3"]; List<String> list2 = list1.map((f) => f.subs

我有一个list1:var list1=[a:1,b:2,c:3]

我如何基于清单1创建清单2,如下:[a,b,c]


我想我必须使用split和forEach,但我不知道如何组合它

也许这对你有用,只要你总是有相同的字符串长度

  List<String> list1 = ["a:1", "b:2", "c:3"];
  List<String> list2 = list1.map((f) => f.substring(0,1)).toList();
或者,如果希望:作为基础,而不考虑每个元素的字符串长度,则可以尝试下面的代码

  List<String> list1 = ["a:1", "b:2", "c:3"];
  List<String> list2 = list1.map((f) => f.split(":")[0]).toList();

也许这对你有用,只要你总是有相同的字符串长度

  List<String> list1 = ["a:1", "b:2", "c:3"];
  List<String> list2 = list1.map((f) => f.substring(0,1)).toList();
或者,如果希望:作为基础,而不考虑每个元素的字符串长度,则可以尝试下面的代码

  List<String> list1 = ["a:1", "b:2", "c:3"];
  List<String> list2 = list1.map((f) => f.split(":")[0]).toList();

使用forEach遍历列表中的所有项。 对于每个字符串项,使用“:”作为分隔符拆分它,或者,如果它总是只有一个字符,只需获取该项的第一个字符。
将项目的split或aimply first Character结果的第一个元素添加到列表2中。

使用forEach遍历列表中的所有项目。
var list1 = ["a:1", "b:2", "c:3"];
List list2;

list1.asMap().forEach((key, value) {
  list2.add(value.replaceAll(':${key + 1}', ''));
});
对于每个字符串项,使用“:”作为分隔符拆分它,或者,如果它总是只有一个字符,只需获取该项的第一个字符。 将拆分结果的第一个元素或项的第一个字符添加到列表2中

var list1 = ["a:1", "b:2", "c:3"];
List list2;

list1.asMap().forEach((key, value) {
  list2.add(value.replaceAll(':${key + 1}', ''));
});
这是我的密码


这是我的代码

为什么不将第二个解决方案设置为:final list2=[…list1.mape=>e.split':'[0]];?使用Iterable.forEach添加到列表中是对forEach的不当使用。使用map或collection for:[对于list1 pair.split':'[0]]中的var pair。为什么不将第二个解决方案设置为:final list2=[…list1.mape=>e.split':'[0]];?使用Iterable.forEach添加到列表中是对forEach的不当使用。对以下对象使用映射或集合:[对于list1 pair.split':'[0]]中的变量对。