javascript - 对象的某些值的总和
问题描述
我必须计算某些对象值的总和(不是全部)
我有这个对象:
let object = {a: 1, b: 4, c: 2, d: 3, e: 10}
我只需要对 a、c、d、e 值求和。
实际上,我使用这种方法将所有值相加并给我 20,但我需要有 16。
Object.keys(object).reduce((sum, key) => sum + parseFloat(object[key] || 0), 0)
我该怎么做这个总和?
解决方案
你的 sum 函数很好,你只需要应用一个过滤器
Object.keys(object)
.filter(key => key !== 'b')
.reduce((sum, key) => sum + parseFloat(object[key] || 0), 0)
或者,如果你想要一个白名单
const validKeys = {
a: true,
b: false, // optional
c: true,
d: true,
e: true
}
Object.keys(object)
.filter(key => validKeys[key])
.reduce((sum, key) => sum + parseFloat(object[key] || 0), 0)
推荐阅读
- video-streaming - WebRTC 流到 RTSP
- html - html文件中的eslint错误:解析错误:意外的令牌<
- redirect - 如果端口 80 关闭,我可以从 HTTP 重定向到 HTTPS
- javascript - 使用 FOR 循环将对象推送到数组
- python - 创建新的 df 列,根据 if else 语句选择最大列
- datepicker - MUI Datepicker onChange 事件与手动输入一起使用,但在单击日期时不可用
- arrays - 如何使用 readtable 遍历 for 循环内的数组中的一组范围?
- sql - 如何使用选择透视查询来更新两个不同的表
- reactjs - Firebase Firestore 数据未显示在我的 React 地图功能中
- php - html中表单下的PHP响应