如何计算嵌套数组中的项目?

时间:2019-05-13 16:30:02

标签: javascript

我的Angular应用程序中具有以下数组:

enter image description here

每个元素都包含一个供应商和一个或多个产品。

我如何计算退回的所有产品?

我可以通过以下方式自己获得产品:

array.map(x=>x.products)

我可以通过执行以下操作获得每个元素的产品计数:

array.map(x=>x.products.length)

但是我该如何求和呢?

1 个答案:

答案 0 :(得分:8)

您可以使用reduce来解决这个问题。

const totalProducts = arr.reduce((count, current) => count + current.products.length, 0);

reduce的概念是获取一个数组并将其“缩减”为单个实体。该实体可以是一个对象,另一个数组,数字...

最后的0初始化reduce实体。由于您要求和,因此将其设置为0,然后再添加。