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
Flutter 颤振:按乘积获取组值的总和_Flutter - Fatal编程技术网

Flutter 颤振:按乘积获取组值的总和

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

如何按productName获取组值的总和

这是我的班级:

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']}");