如何从列表中的项创建逗号分隔的字符串

时间:2018-05-18 08:36:40

标签: dart

如果我在列表中打印值,它将如下所示:

main(List<String> arguments) {
  List cities = ['NY', 'LA', 'Tokyo'];
  String s = '';
  for(var city in cities)
    s += '$city, ';
  print(s);//NY, LA, Tokyo, 
}

但我想用逗号分隔列表中的每个元素(不包含最后一个元素)。

在Java中,我们可以像下面这样做:

List<String> cities = Arrays.asList("NY", "LA", "Tokyo");
System.out.println(cities.stream().collect(joining(", ")));//NY, LA, Tokyo

在Dart中我做了,如下所示:

main(List<String> arguments) {
  List cities = ['NY', 'LA', 'Tokyo'];
  print(formatString(cities));//NY, LA, Tokyo
}

String formatString(List x) {
  String formatted ='';
   for(var i in x) {
     formatted += '$i, ';
   }
  return formatted.replaceRange(formatted.length -2, formatted.length, '');
}

Dart中有更简单的方法吗?

1 个答案:

答案 0 :(得分:11)

这是我使用join()中的List执行此操作的方法:

main(List<String> arguments) {
  List cities = ['NY', 'LA', 'Tokyo'];

  String s = cities.join(', ');
  print(s);
}