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

如何用JavaScript对API返回数组中的Quantity字段求和?

解决AngularJS中数组Quantity字段求和的问题

嘿,我懂你碰到的麻烦啦!你之前用reduce的时候直接返回a + b,得到[object Object]是因为你在把整个对象做加法——JavaScript会把对象转换成字符串[object Object]来拼接,结果当然不对啦。

要正确对Quantity字段求和,你需要注意两个关键点:

  • 在回调函数里要取每个对象的Quantity属性来累加
  • 给reduce传入初始值0,避免第一次迭代时处理对象而非数字

正确的实现代码

// 传统函数写法
$scope.totalQuantity = $scope.resumePesos.reduce(function(accumulator, currentItem) {
  return accumulator + currentItem.Quantity;
}, 0); // 这里的0是初始累加值,必须加!

如果你的项目支持ES6语法,也可以用更简洁的箭头函数:

// ES6箭头函数写法
$scope.totalQuantity = $scope.resumePesos.reduce((acc, item) => acc + item.Quantity, 0);

为什么这样能行?

咱们用你给出的数组来走一遍流程:

  1. 初始时accumulator是0(我们传入的初始值),currentItem是第一个对象{Id: 60, Name: Chuck, Quantity: 300},累加后得到0 + 300 = 300
  2. 下一次迭代,accumulator变成300,currentItem是第二个对象,累加后得到300 + 199 = 499
  3. 最后一次迭代,accumulator是499,currentItem是第三个对象,累加后得到499 + 450 = 949
  4. 最终返回的949就是所有Quantity的总和啦

内容的提问来源于stack exchange,提问作者Chuck Villavicencio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:43:14