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

如何对键名不同、值为字符串类型的JSON对象的所有值进行求和

JS实现对象字符串类型数值求和

你可以用以下两种常用方案实现,都能兼容大部分业务场景:

方案1:ES6+ 简洁写法(推荐)

直接通过Object.values配合reduce完成遍历累加,代码量最小:

const a = { a: "0", b: "2", c: "3" };
// 遍历所有值累加,初始值设为0避免空对象报错
const result = Object.values(a).reduce((sum, currentVal) => sum + Number(currentVal), 0);
console.log(result); // 输出 5

逻辑说明:

  • Object.values(a) 会提取对象所有值组成数组,这里得到["0", "2", "3"]
  • reduce 方法遍历数组,把每一项转成数字后累加到总和sum上
  • 初始值设为0,就算对象为空也不会返回NaN

方案2:ES5 兼容写法

如果需要兼容低版本浏览器,可以用for in遍历实现:

var a = { a: "0", b: "2", c: "3" };
var result = 0;
for (var key in a) {
  // 加hasOwnProperty判断,避免遍历到原型链上的额外属性
  if (a.hasOwnProperty(key)) {
    result += Number(a[key]);
  }
}
console.log(result); // 输出5

注意:题目已明确所有值都是可转数字的字符串,如果实际场景存在非数字格式的字符串,可以额外加isNaN判断过滤异常值,避免求和结果为NaN。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:39:02