Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 基于匹配的对象属性从列表创建列表_List_Flutter_Dart - Fatal编程技术网

List 基于匹配的对象属性从列表创建列表

List 基于匹配的对象属性从列表创建列表,list,flutter,dart,List,Flutter,Dart,我有一个包含多个属性的对象列表。我希望将列表分解为多个列表,这些列表由具有相同子属性的对象组成 这里是一个假设的例子,假设我有一个汽车的列表。每辆汽车都有属性:id、manufacturerId和color 我想为那些具有匹配的manufacturerId属性的汽车创建汽车的列表 我尝试使用list.where在list.forEach中创建新的子列表,但是我得到了重复的列表,因为当我比较的属性(A)与另一个属性(B)匹配时,我会在以下情况下得到另一个子列表: B=A 您可以使用frompack

我有一个包含多个属性的对象列表。我希望将列表分解为多个列表,这些列表由具有相同子属性的对象组成

这里是一个假设的例子,假设我有一个
汽车的列表
。每辆
汽车
都有属性:
id
manufacturerId
color

我想为那些具有匹配的
manufacturerId
属性的汽车创建
汽车的列表

我尝试使用
list.where
list.forEach
中创建新的子列表,但是我得到了重复的列表,因为当我比较的属性(A)与另一个属性(B)匹配时,我会在以下情况下得到另一个子列表:

B=A

您可以使用from
package:collection

var carsByManufacturer = groupBy(cars, (car) => car.manufacturerId);
这将创建一个
地图
,其中键为
制造商ID
,值为该制造商的汽车列表

那就做,

for (final manufacturerEntry in carsByManufacturer) {
      final key = manufacturerEntry.key;
      final value = manufacturerEntry.value;
      final listOfCarsFromSameManufactuer = List.from(entry.value);
      ...
}
现在,您将拥有名为:
listofcarsfromsamemaufactuer
的列表

您可以使用from
package:collection

var carsByManufacturer = groupBy(cars, (car) => car.manufacturerId);
这将创建一个
地图
,其中键为
制造商ID
,值为该制造商的汽车列表

那就做,

for (final manufacturerEntry in carsByManufacturer) {
      final key = manufacturerEntry.key;
      final value = manufacturerEntry.value;
      final listOfCarsFromSameManufactuer = List.from(entry.value);
      ...
}
现在,您将拥有名为:
listofcarsfromsamemaufactuer
的列表