【问题标题】:Sum of value in a collection using flutter使用颤振的集合中的值总和
【发布时间】:2019-04-04 15:53:48
【问题描述】:

我有一个列表/集合,我需要获取此列表中所有价格的总和。

cart_items = [
    {
        "id": 144,
        "created_at": "2019-04-04 14:42:04",
        "updated_at": "2019-04-04 14:42:04",
        "cart_id": "3",
        "client_id": "83",
        "product_id": "6",
        "quantity": "1",
        "price": "1500",
        "name": "Cucumber (2Pcs)",
        "image": "products/es4eGjkgQ6MvzTaMyX4iXWjcSX03mVk3QB9oODWk.jpeg",
       },
    {
        "id": 145,
        "created_at": "2019-04-04 14:42:09",
        "updated_at": "2019-04-04 14:42:09",
        "cart_id": "3",
        "client_id": "83",
        "product_id": "5",
        "quantity": "1",
        "price": "2000",
        "name": "Cauliflower",
        "image": "products/lVZ31zORzltyVIDXhHoCWUgjTlal7cWd7pI8DL2V.jpeg",
        }
]

我一直在尝试在此集合/列表上使用 reduce 方法,但我不知道如何指定我需要获取价格的总和。

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    给你:

    cart_items.map<int>((m) => int.parse(m["price"])).reduce((a,b )=>a+b)
    

    正如@user3612643 在评论中指出的那样,如果集合为空,这将不起作用,因此在这种情况下需要对其进行条件检查。

    【讨论】:

    • 如果它是你要找的,你也可以投票给答案吗?
    • 这并没有解决问题,我正在单独得到结果。参考这里:stackoverflow.com/questions/65644043/…
    • 如果集合为空则中断。
    • @user3612643 感谢您指出这一点。会把这个放在回答中
    • 为了完整起见:在 2021 年,您可以通过在列表中调用 .sum 来替换 reduce((a,b)=&gt;a+b) 部分。只需先导入import 'package:collection/collection.dart';
    猜你喜欢
    • 2021-11-25
    • 2021-03-19
    • 1970-01-01
    • 2020-12-25
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多