Как получить один и тот же атрибут из всех объектов в списке в одну строку - PullRequest
0 голосов
/ 25 марта 2020

У меня есть список объектов того же класса. Этот класс содержит атрибут, который я хочу использовать.

Я хотел бы получить список всех этих атрибутов в одну строку. Возможно ли это?

Вот небольшой пример: я просто хочу получить список всех цветов.

Важно, чтобы я возвращал список этих атрибутов напрямую, без нормального выражения 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);  
}

Ответы [ 2 ]

1 голос
/ 25 марта 2020

Вы можете использовать функцию карты для достижения этого

 List<String> listOfColors = listOfCars.map((car) => car.color).toList();
  print(listOfColors);
0 голосов
/ 25 марта 2020

Просто проверьте этот код ниже:

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);
}


Удар вывод:

This is the string length : 3
This is the string list :blue
This is the string list :green
This is the string list :yellow
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...