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
您可以使用frompackage: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
的列表 您可以使用frompackage: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
的列表