【问题标题】:Add Sum total of Products in a Cart添加购物车中产品的总和
【发布时间】:2020-03-05 01:31:40
【问题描述】:

我有一个菜鸟问题,那就是在我结账之前,将购物车页面中一个对象(购物车)的总和相加。

每次我从一个屏幕导航到另一个屏幕时,数量都会不断增加

我希望总数为 159,或者如果我添加更多产品,则为正确的数量

SourceCode

【问题讨论】:

  • 请分享示例代码而不是图片。

标签: javascript angular typescript ionic3


【解决方案1】:

在StackBlitz Link 中找到完整的工作示例

您只需要使用 reduce() 数组函数计算购物车数量。

this.total = this.cart.reduce( (acc,curVal) => {
    return acc + (curVal.amount * curVal.quantity); 
     //this.temp.push( curVal.amount * curVal.quantity);
  },0)

【讨论】:

    【解决方案2】:

    尝试替换这段代码:

    this.cartItems.forEach((value, index) => {
        this.totalAmount += parseInt(value.amount);
    });
    

    用这个:

    this.totalAmount = this.cartItems.reduce((acc, item) => {
        return acc += item.amount;
    }, 0);
    

    在第一种情况下,您向现有值添加一个新值。而在reduce 版本中,它应该重写totalAmount。

    【讨论】:

    • 在您的情况下,您没有考虑 data.quantity 字段。没有这个totalAmount 是错误的。
    • @GaurangDhorda 我的示例解决了原始 OP 的问题。数量是另一回事。而且您基本上只是发布了与我相同的答案,以后尽量不要这样做,因为它会使答案变得混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2011-12-19
    • 1970-01-01
    • 2018-07-23
    • 2013-05-02
    • 2014-11-21
    相关资源
    最近更新 更多