Flutter 颤振:按乘积获取组值的总和
如何按productName获取组值的总和 这是我的班级:Flutter 颤振:按乘积获取组值的总和,flutter,Flutter,如何按productName获取组值的总和 这是我的班级: class产品类{ 字符串名称; 国际价格; 布尔状态; ProductClass(this.productName、this.price、this.status); } //以下是数据: _getSumByProduct(){ List productClass=List(); 添加(productClass('Cup',5,true)); 添加(productClass('Cup',5,true)); add(productClas
class产品类{
字符串名称;
国际价格;
布尔状态;
ProductClass(this.productName、this.price、this.status);
}
//以下是数据:
_getSumByProduct(){
List productClass=List();
添加(productClass('Cup',5,true));
添加(productClass('Cup',5,true));
add(productClass('Spoons',3,true));
添加(productClass('Plate',7,true));
添加(productClass('Spoon',2,true));
add(productClass('Spoons',8,true));
//按productName获取值之和的代码
}
答案是:杯子,10个
板,7
Spoons,13您可以在列表上迭代,并在地图中跟踪产品的总和:
\u getSumByProduct(){
List productClass=List();
添加(productClass('Cup',5,true));
添加(productClass('Cup',5,true));
add(productClass('Spoons',3,true));
添加(productClass('Plate',7,true));
添加(productClass('Spoon',2,true));
add(productClass('Spoons',8,true));
Map sumMap={};
productClass.forEach((产品){
if(sumMap.containsKey(product.productName)){
sumMap[product.productName]+=product.price;
}否则{
sumMap[product.productName]=product.price;
}
})
返回汇总表;
}
您将得到一个从productName
到价格总和的映射。因此,要获得您想要的结果:print("Cup, ${sumMap['Cup']}");
print("Plate, ${sumMap['Plate']}");
print("Spoons, ${sumMap['Spoons']}");