我有一个数组
Result = [{"01": 330,"02": 353,"03": 178,"04": 353,"KID": 10,"PID": 5},
{"01": 320,"02": 112,"03": 328,"04": 123,"KID": 11,"PID": 6},
{"01": 110,"02": 253,"03": 375,"04": 233,"KID": 12,"PID": 7}]
Run Code Online (Sandbox Code Playgroud)
我知道如何对所有键进行加法运算,如下所示:
Result.forEach(item =>{
let sum = Object.keys(item).reduce((acc,value) => acc + item[value],0);
item["total"] = sum;
})
Run Code Online (Sandbox Code Playgroud)
如何找到排除"KID"和"PID"键值的总和?
您可以过滤键。
var result = [{ "01": 330, "02": 353, "03": 178, "04": 353, "KID": 10, "PID": 5 }, { "01": 320, "02": 112, "03": 328, "04": 123, "KID": 11, "PID": 6 }, { "01": 110, "02": 253, "03": 375,"04": 233, "KID": 12, "PID": 7 }];
result.forEach(item => item.total = Object
.keys(item)
.filter(k => k !== 'KID' && k !== 'PID')
.reduce((s, k) => s + item[k], 0)
);
console.log(result);Run Code Online (Sandbox Code Playgroud)
或者,您可以预先获取密钥,然后仅与所需密钥求和。
var result = [{ "01": 330, "02": 353, "03": 178, "04": 353, "KID": 10, "PID": 5 }, { "01": 320, "02": 112, "03": 328, "04": 123, "KID": 11, "PID": 6 }, { "01": 110, "02": 253, "03": 375,"04": 233, "KID": 12, "PID": 7 }],
exclude = ['KID', 'PID'],
keys = Object.keys(result[0]).filter(k => !exclude.includes(k));
result.forEach(item => item.total = keys.reduce((s, k) => s + item[k], 0));
console.log(result);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |