如何从一行列表中的所有对象中获取相同的属性

Posted

技术标签:

【中文标题】如何从一行列表中的所有对象中获取相同的属性【英文标题】:How to get the same attribute from all objects in a list in one line 【发布时间】:2020-07-06 05:29:37 【问题描述】:

我有一个相同类的对象列表。 此类包含我要使用的属性。

我想在一行中列出所有这些属性。这可能吗?

这是一个小例子:我只想要一个所有颜色的列表。

重要的是我直接返回这些属性的列表,而不是正常的 forEach 语句。

void main() 

List<Car> listOfCars = [
   Car('blue'), 
   Car('green'),
   Car('yellow'),
 ];


//List<String> listOfColors = listOfCars[all].color;

class Car
  String color;
  Car(this.color);  

【问题讨论】:

【参考方案1】:

您可以使用地图功能来实现这一点

 List<String> listOfColors = listOfCars.map((car) => car.color).toList();
  print(listOfColors);

【讨论】:

【参考方案2】:

只需查看以下代码:

void main() 

   List<Car> listOfCars = [
    Car('blue'),
    Car('green'),
    Car('yellow'),
  ];
  List<String> stringList = List();

  // This is where you get the single car object and then you add it the list of string
  for (int i = 0; i < listOfCars.length; i++) 
      stringList.add(listOfCars[i].color);
    

// this is the desired out put  i have just printed your list :
    print('This is the string length : ' + stringList.length.toString());
    for (int i = 0; i < stringList.length; i++) 
      print('This is the string list :' + stringList[i]);
    
 

class Car 
  final String color;

  Car(this.color);



Blow 是输出:

This is the string length : 3
This is the string list :blue
This is the string list :green
This is the string list :yellow

【讨论】:

以上是关于如何从一行列表中的所有对象中获取相同的属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从js中的元素列表中获取元素,该元素具有自定义属性?

Django - 从模型中的所有对象中获取第一个属性

如何在 Actionscript 中获取对象的属性列表?

在MATLAB中的一行中从单元格数组中获取所有一个属性

检查自定义对象列表是不是与 Java 8 中的属性具有相同的值

如何选择(所有)表 1 中的一行,该行具有与表 2 相同的另一行