5 回答

TA貢獻1804條經驗 獲得超2個贊
你可以使用Object.values然后使用reduce
data_sample = { "object_1": { "irrelevant_data1": 0, "irrelevant_data2": 0, "data_needed_to_sum_up": 100, }, "object_a": { "irrelevant_data1": 0, "irrelevant_data2": 0, "irrelevant_data3": 0, "data_needed_to_sum_up": 200, }, "object_d": { "irrelevant_data1": 0, "irrelevant_data2": 0, "data_needed_to_sum_up": 300, }, }
res = Object.values(data_sample)
.reduce((acc,curr) => acc = acc + curr["data_needed_to_sum_up"],0)
console.log(res)

TA貢獻1906條經驗 獲得超3個贊
你可以Array#reduce
在Object.values
.
let sum = Object.values(data_sample) .reduce((acc,cur)=>acc+cur.data_needed_to_sum_up,0);

TA貢獻1777條經驗 獲得超3個贊
.reduce適用于數組,您擁有的只是一個對象,但您可以.reduce與 結合使用Object.entries,如下所示:
data_sample = {
"object_1": {
"irrelevant_data1": 0,
"irrelevant_data2": 0,
"data_needed_to_sum_up": 100,
},
"object_a": {
"irrelevant_data1": 0,
"irrelevant_data2": 0,
"irrelevant_data3": 0,
"data_needed_to_sum_up": 200,
},
"object_d": {
"irrelevant_data1": 0,
"irrelevant_data2": 0,
"data_needed_to_sum_up": 300,
},
}
console.log(Object.entries(data_sample).reduce((carry, [_, current]) => carry + current.data_needed_to_sum_up, 0))

TA貢獻1843條經驗 獲得超7個贊
嘗試這個:
console.log(Object.values(data_sample).map((x) => x.data_needed_to_sum_up).reduce((x, y) => x + y));
添加回答
舉報