You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从嵌套数组对象中计算所有qty字段的总和?

计算所有qty字段的总和

你可以通过以下两种简洁的方式,实现所有qty字段的求和:

方法一:嵌套reduce遍历

通过两层reduce,先累加每个分类下的产品数量,再汇总所有分类的结果:

const totalQty = xyz.reduce((total, category) => {
  const categorySum = category.product.reduce((sum, product) => sum + product.qty, 0);
  return total + categorySum;
}, 0);

console.log(totalQty); // 输出:10

方法二:扁平化数组后求和

先将所有分类下的产品数组合并为一个一维数组,再统一计算总和:

// 提取所有产品到同一数组
const allProducts = xyz.flatMap(item => item.product);
// 累加所有qty值
const totalQty = allProducts.reduce((sum, product) => sum + product.qty, 0);

console.log(totalQty); // 输出:10

你之前只得到第一个元素的总和,应该是只处理了xyz数组的第一个分类对象,没有遍历完整的分类列表。上述两种方法都会覆盖所有分类及其下的产品,确保累加全部qty值。

内容的提问来源于stack exchange,提问作者Krish Varma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:20:25