Дарт: Лучший способ структурировать и выбирать данные, чем список определенных объектов класса и цикл for? - PullRequest
0 голосов
/ 14 июля 2020

большое спасибо за это сообщество. Мы хотели бы структурировать данные в Dart, чтобы впоследствии можно было фильтровать их по определенным критериям и объединить их в отдельный объект.

Первоначальной попыткой было создать класс и написать список с этими объектами, чтобы создать таблицу данных. Чтобы выбрать элементы по тем же критериям, мы пролистываем его oop и записываем в новый список. Как в приведенном ниже примере, в таблице данных показаны автомобили наших друзей. Мы хотели бы выбрать всех друзей, которые водят кабриолет.

Этот подход решает проблему. Однако разве нет более экономичного способа сделать это? Большое спасибо!

С наилучшими пожеланиями,

Fabian

void main() {
  
List<Car> myList = [
  Car(ownername: "Michelle", brand: "Honda", cartype: CarType.convertible, value: 5),
  Car(ownername: "Bryony", brand: "Fiat", cartype: CarType.sedan, value: 6),
  Car(ownername: "Jane", brand: "Buik", cartype: CarType.suv, value: 7),
  Car(ownername: "Chloe", brand: "Chevy", cartype: CarType.convertible, value: 5)];
  
show_same_type(myList, CarType.convertible); 

print(sameCarList);  
  
     }


//Definitions
enum CarType {sedan, suv, convertible}

class Car {
  String ownername;
  String brand;
  CarType cartype;
  double value;
  
  Car({this.ownername, this.brand, this.cartype, this.value});
}

List sameCarList = new List(); 

void show_same_type(List<Car> myfriendsCars, CarType checkCarType) {
  for(Car myfriendsCar in myfriendsCars) {
    
      if (myfriendsCar.cartype == checkCarType) {
      sameCarList.add(myfriendsCar.ownername);
      }
  }     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...