gpt4 book ai didi

javascript - 如何提取对象的值并计算它们?

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:13 26 4
gpt4 key购买 nike

我不知道如何提取对象中的属性值然后计算它们。

所以我有如下:

const data = [
{
topUp: true, value: 200
},
{
topUp: true, value: 18
},
{
topUp: false, value: 20
},
{
topUp: true, value: 100
},
]

const totalSpending = data.filter(
transaction => transaction.topUp == true
);

现在我应该得到 3 个对象。从这里我想获取每个值,例如 [200, 18, 100] 并将它们加在一起,这样我的 const totalSpending 将为 318。

最佳答案

您可以使用 reduce 相对轻松地实现此目的, conditional operatordestructuring assignment :

const data = [{topUp: true, value: 200}, {topUp: true, value: 18}, {topUp: false, value: 20}, {topUp: true, value: 100}],

res = data.reduce((acc, {topUp, value}) => topUp ? acc + value : acc, 0);
console.log(res);

上面会得到属性topUpvalue,然后将value加到累加器中(即总和)如果topUp 为 true,如果为 false,则返回 acc(因此不会添加到总和)。

或者,您可以删除三元并使用带有 bool 值的数学:

const data = [{topUp: true, value: 200}, {topUp: true, value: 18}, {topUp: false, value: 20}, {topUp: true, value: 100}],

res = data.reduce((acc, {topUp, value}) => acc + value*topUp, 0);
console.log(res);

关于javascript - 如何提取对象的值并计算它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55003422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com