dart 从对象列表中获取字符串列表

hpcdzsge  于 2023-03-15  发布在  其他
关注(0)|答案(4)|浏览(145)

我有一个对象列表(城市),其中包含大量的属性,它的内部结构:

class City {
  String id;
  String name;
  String parent_id;
  double lat;
  double lng;
  String local;
}

如何从同一个城市列表中获取名称(字符串)列表

List<City> cities

如何从城市获得List<String> names

55ooxyrt

55ooxyrt1#

在此处使用map .教程。
例如:

class City {
  const City(this.id, this.name);

  final int id;
  final String name;
}

List<City> cities = [
  City(0, 'A'),
  City(1, 'B'),
  City(2, 'C'),
];

final List<String> cityNames = cities.map((city) => city.name).toList();

void main() {
  print(cityNames);
}
txu3uszq

txu3uszq2#

虽然很简单也很麻烦

var cityNames = cities.map((c) => c.name).toList().join(',');
enxuqcxy

enxuqcxy3#

List<String> names=[];

for (City city in cities){
names.add(city.name);
 }
0pizxfdo

0pizxfdo4#

用这个

List<String> cityNameList = cities.map((city) => city.name).toList();
  • 您也可以通过下面的解释 *
    自定义数据类
class City {
    String id;
    String name;
    String parent_id;
    double lat;
    double lng;
    String local;
}

基于City类的任何成员将List<City>Map到List<String>

List<City> cities= getListOfCities();
// city.name, city.local...any field as you wish
List<String> cityNameList = cities.map((city) => city.name).toList();
print(cityNameList);

相关问题