我的Angular应用程序中具有以下数组:
每个元素都包含一个供应商和一个或多个产品。
我如何计算退回的所有产品?
我可以通过以下方式自己获得产品:
array.map(x=>x.products)
我可以通过执行以下操作获得每个元素的产品计数:
array.map(x=>x.products.length)
但是我该如何求和呢?
答案 0 :(得分:8)
您可以使用reduce
来解决这个问题。
const totalProducts = arr.reduce((count, current) => count + current.products.length, 0);
reduce
的概念是获取一个数组并将其“缩减”为单个实体。该实体可以是一个对象,另一个数组,数字...
最后的0初始化reduce
实体。由于您要求和,因此将其设置为0,然后再添加。